Prečítajte si súbor JSON pomocou Pythonu
Úplná forma JSON je JavaScript Object Notation. To znamená, že na ukladanie a prenos údajov sa používa skriptový (spustiteľný) súbor, ktorý je vytvorený z textu v programovacom jazyku. Python podporuje JSON prostredníctvom vstavaného balíka s názvom JSON. Ak chcete použiť túto funkciu, importujeme balík JSON Python skript. Text v JSON sa vykonáva prostredníctvom reťazca v úvodzovkách, ktorý obsahuje hodnotu v mapovaní párov kľúč – hodnota v rámci { }.
Python Parse JSON – Ako čítať súbor JSON
Načítanie objektu JSON v Pythone je celkom jednoduché. Python má vstavaný balík tzv JSON , ktorý možno použiť na prácu s údajmi JSON. Robí sa to pomocou modulu JSON, ktorý nám poskytuje množstvo metód, medzi ktoré patrí metódy loads() a load(). nám pomôžu prečítať súbor JSON.
Deserializujte reťazec JSON na objekt v Pythone
Deserializácia JSON znamená konverziu objektov JSON na ich príslušné objekty Python. Používa sa na to metóda load()/loads(). Ak ste použili údaje JSON z iného programu alebo ste ich získali ako reťazcový formát JSON, potom ich možno jednoducho deserializovať pomocou funkcie load()/loads(), ktorá sa zvyčajne používa na načítanie z reťazca, inak je koreňový objekt v zoznam alebo diktát. Pozrite si nasledujúcu tabuľku uvedenú nižšie.
| OBJEKT JSON | OBJEKT PYTHON |
|---|---|
| objekt | diktát |
| pole | zoznam |
| reťazec | str |
| nulový | žiadne |
| číslo (int) | int |
| číslo (skutočné) | plavák |
| pravda | Pravda |
| falošný | Nepravdivé |
metóda json.load().
Funkcia json.load() prijme objekt súboru, analyzuje údaje JSON, naplní údajmi slovník Pythonu a vráti vám ich späť.
Syntax:
json.load(objekt súboru)
Parameter: Ako parameter berie objekt súboru.
Návrat: Vráti objekt JSON.
Načítanie súboru JSON v Pythone
Tu si prečítame súbor JSON s názvom data.json snímka obrazovky súboru je uvedená nižšie.
V nižšie uvedenom kóde najprv importujeme modul JSON, otvoríme súbor pomocou spracovania súborov funkcia open(). a potom uložte údaje do premennej 'údaje' pomocou funkcie json.load(). Potom údaje iterujeme a vytlačíme.
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()> |
Výkon:
Metóda json.loads().
Ak máme reťazec JSON, môžeme ho analyzovať pomocou metóda json.loads(). . json.loads() neberie cestu k súboru, ale obsah súboru ako reťazec, na čítanie obsahu súboru JSON môžeme použiť fileobject.read() na konverziu súboru na reťazec a odovzdať ho pomocou json.loads (). Táto metóda vráti obsah súboru.
Syntax:
json.loads(S)
Parameter: vyžaduje inštanciu reťazca, bajtov alebo bajtového poľa, ktorá obsahuje dokument JSON ako parameter (S).
Typ návratu: Vracia objekt Python.
Python – Prečítajte si reťazec JSON
Tento príklad ukazuje čítanie z reťazca aj zo súboru JSON pomocou metódy json.loads(). Po prvé, máme reťazec JSON uložený v premennej „j_string“ a skonvertujte tento reťazec JSON na slovník Pythonu pomocou metódy json.loads(), ktorá je uložená v premennej 'a' potom to vytlačíme. Po druhé, čítame reťazec JSON uložený v súbore pomocou json.loads(), na to najprv konvertujeme súbor JSON na reťazec pomocou spracovania súboru rovnakým ako vo vyššie uvedenom príklade a potom ho konvertujeme na reťazec pomocou funkcie read() a zvyšok postupu je rovnaký ako pred použitím metódy 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()> |
Vysvetlenie: Tu vo výstupe môžeme vidieť výstup čítacieho reťazca aj súboru pomocou metódy json.loads().
Výkon: