Przeczytaj plik JSON za pomocą Pythona
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 funkcji, importujemy pakiet JSON do Pyton scenariusz. Tekst w JSON jest wykonywany za pomocą cudzysłowu, który zawiera wartość w mapowaniu klucz-wartość w obrębie { }.
Python Parse JSON – jak odczytać plik JSON
Ładowanie obiektu JSON w Pythonie jest całkiem łatwe. Python ma wbudowany pakiet o nazwie JSON , których można używać do pracy z danymi JSON. Odbywa się to za pomocą modułu JSON, który udostępnia nam mnóstwo metod m.in metody Load() i Load(). pomogą nam odczytać plik JSON.
Deserializuj ciąg JSON do obiektu w Pythonie
Deserializacja JSON oznacza konwersję obiektów JSON na odpowiadające im obiekty Pythona. Wykorzystywana jest do tego metoda loading()/loads(). Jeśli użyłeś danych JSON z innego programu lub uzyskałeś je w formacie ciągu JSON, można je łatwo zdeserializować za pomocą funkcji Load()/loads(), która jest zwykle używana do ładowania z ciągu znaków, w przeciwnym razie obiekt główny znajduje się w lista lub dykt. Zobacz poniższą tabelę podaną poniżej.
| OBIEKT JSON | OBIEKT PYTONA |
|---|---|
| obiekt | dykt |
| szyk | lista |
| strunowy | ul |
| zero | Nic |
| liczba (int) | wew |
| liczba (prawdziwa) | platforma |
| PRAWDA | PRAWDA |
| FAŁSZ | FAŁSZ |
metoda json.load().
Funkcja json.load() akceptuje obiekt pliku, analizuje dane JSON, wypełnia słownik Pythona danymi i zwraca je z powrotem.
Składnia:
json.load (obiekt pliku)
Parametr: Przyjmuje obiekt pliku jako parametr.
Powrót: Zwraca obiekt JSON.
Ładowanie pliku JSON w Pythonie
Tutaj będziemy czytać plik JSON o nazwie dane.json zrzut ekranu pliku znajduje się poniżej.
W poniższym kodzie najpierw importujemy moduł JSON, otwieramy plik korzystając z obsługi plików funkcja open(). , a następnie zapisz dane w zmiennej 'dane' za pomocą funkcji json.load(). Następnie iterujemy po danych i drukujemy je.
Python3
# Python program to read> # json file> import> json> # Opening JSON file> f> => open> (> 'data.json'> )> # returns JSON object as> # a dictionary> data> => json.load(f)> # Iterating through the json> # list> for> i> in> data[> 'emp_details'> ]:> > print> (i)> # Closing file> f.close()> |
Wyjście:
Metoda json.loads().
Jeśli mamy ciąg JSON, możemy go przeanalizować za pomocą metoda json.loads(). . json.loads() nie pobiera ścieżki pliku, ale zawartość pliku jako ciąg znaków, aby odczytać zawartość pliku JSON, możemy użyć fileobject.read() do konwersji pliku na ciąg znaków i przekazania go za pomocą json.loads (). Ta metoda zwraca zawartość pliku.
Składnia:
json.loads(S)
Parametr: pobiera ciąg znaków, bajty lub instancję tablicy bajtów, która zawiera dokument JSON jako parametr (S).
Typ zwrotu: Zwraca obiekt Pythona.
Python – Przeczytaj ciąg JSON
Ten przykład pokazuje odczyt zarówno z ciągu znaków, jak i pliku JSON przy użyciu metody json.loads(). Po pierwsze, mamy ciąg JSON zapisany w zmiennej „j_string” i przekonwertuj ten ciąg JSON na słownik Pythona za pomocą metody json.loads() zapisanej w zmiennej 'I' potem go drukujemy. Po drugie, czytamy JSON String zapisany w pliku za pomocą json.loads() w tym celu najpierw konwertujemy plik JSON na ciąg znaków stosując taką samą obsługę pliku jak w powyższym przykładzie, a następnie konwertujemy go na ciąg znaków za pomocą funkcji read() i reszta procedury jest taka sama, jak przed użyciem metody json.loads().
Python3
# Python program to read> # json file> import> json> # JSON string> j_string> => '{'name': 'Bob', 'languages': 'English'}'> # deserializes into dict and returns dict.> y> => json.loads(j_string)> print> (> 'JSON string = '> , y)> print> ()> # JSON file> f> => open> (> 'data.json'> ,> 'r'> )> # Reading from file> data> => json.loads(f.read())> # Iterating through the json list> for> i> in> data[> 'emp_details'> ]:> > print> (i)> # Closing file> f.close()> |
Wyjaśnienie: Tutaj na wyjściu możemy zobaczyć zarówno wynik odczytującego ciągu znaków, jak i plik przy użyciu metody json.loads().
Wyjście: