Odczytywanie i zapisywanie JSON do pliku w Pythonie
Pełna forma JSON to notacja obiektowa JavaScript. Oznacza to, że do przechowywania i przesyłania danych służy plik skryptowy (wykonywalny) składający się z tekstu w języku programowania. Python obsługuje JSON poprzez wbudowany pakiet o nazwie JSON. Aby skorzystać z tej funkcjonalności importujemy pakiet JSON w skrypcie Python. Tekst w JSON jest wykonywany za pomocą cudzysłowu, który zawiera wartość w mapowaniu klucz-wartość w obrębie { }. Jest podobny do słownik w Pythonie .
Zapisywanie JSON do pliku w Pythonie
Serializacja JSON odnosi się do transformacji danych w serię bajtów (stąd serial), które mają być przechowywane lub przesyłane przez sieć. Do obsługi przepływu danych w pliku używana jest biblioteka JSON w Pythonie wysypisko () Lub depresja () do konwersji obiektów Pythona na odpowiadający im obiekt JSON, co ułatwia zapisywanie danych w plikach. Zobacz poniższą tabelę podaną poniżej.
| OBIEKT PYTONA | OBIEKT JSON |
|---|---|
| Dykt | obiekt |
| lista, krotka | szyk |
| ul | strunowy |
| int, długi, float | liczby |
| PRAWDA | PRAWDA |
| FAŁSZ | FAŁSZ |
| Nic | zero |
Metoda 1: Zapisywanie JSON do pliku w Pythonie za pomocą json.dumps()
Pakiet JSON w Pythonie ma funkcję o nazwie json.dumps(), która pomaga w konwersji słownika na obiekt JSON. Przyjmuje dwa parametry:
- słownik – nazwa słownika, który ma zostać skonwertowany na obiekt JSON. wcięcie – określa liczbę jednostek wcięcia
Po skonwertowaniu słownika na obiekt JSON wystarczy zapisać go do pliku za pomocą funkcji zapisu.
Python3
import> json> # Data to be written> dictionary> => {> > 'name'> :> 'sathiyajith'> ,> > 'rollno'> :> 56> ,> > 'cgpa'> :> 8.6> ,> > 'phonenumber'> :> '9976770500'> }> # Serializing json> json_object> => json.dumps(dictionary, indent> => 4> )> # Writing to sample.json> with> open> (> 'sample.json'> ,> 'w'> ) as outfile:> > outfile.write(json_object)> |
Wyjście:
Metoda 2: Zapisywanie JSON do pliku w Pythonie za pomocą json.dump()
Innym sposobem zapisu JSON do pliku jest użycie metody json.dump() Pakiet JSON posiada funkcję dump, która bezpośrednio zapisuje słownik do pliku w postaci JSON, bez konieczności konwertowania go na rzeczywisty obiekt JSON. Przyjmuje 2 parametry:
- słownik – nazwa słownika, który ma zostać skonwertowany na obiekt JSON. wskaźnik pliku – wskaźnik pliku otwartego w trybie zapisu lub dopisywania.
Python3
# Python program to write JSON> # to a file> import> json> # Data to be written> dictionary> => {> > 'name'> :> 'sathiyajith'> ,> > 'rollno'> :> 56> ,> > 'cgpa'> :> 8.6> ,> > 'phonenumber'> :> '9976770500'> }> with> open> (> 'sample.json'> ,> 'w'> ) as outfile:> > json.dump(dictionary, outfile)> |
Wyjście:
Czytanie JSON-a z pliku przy użyciu Pythona
Deserializacja jest przeciwieństwem serializacji, tj. konwersji obiektów JSON na odpowiadające im obiekty Pythona. Służy do tego metoda Load(). Jeśli użyłeś danych JSON z innego programu lub uzyskałeś je w formacie ciągu JSON, można je łatwo deserializować za pomocą funkcji Load(), która jest zwykle używana do ładowania z ciągu znaków, w przeciwnym razie obiekt główny znajduje się na liście lub Dykt.
Odczyt JSON z pliku za pomocą json.load()
Pakiet JSON zawiera funkcję json.load(), która ładuje zawartość JSON z pliku JSON do słownika. Przyjmuje jeden parametr:
- Wskaźnik pliku: wskaźnik pliku wskazujący plik JSON.
Python3
import> json> # Opening JSON file> with> open> (> 'sample.json'> ,> 'r'> ) as openfile:> > # Reading from json file> > json_object> => json.load(openfile)> print> (json_object)> print> (> type> (json_object))> |
Wyjście: