JSON je odlehčený datový formát pro výměnu dat, který lze snadno číst a zapisovat lidmi a snadno analyzovat a generovat stroje. Jedná se o kompletní jazykově nezávislý textový formát. Pro práci s daty JSON má Python vestavěný balíček s názvem JSON.
Příklad JSON String
s = '{'id':01, 'name': 'Emily', 'language': ['C++', 'Python']}'> Syntaxe JSON je považován za podmnožinu syntaxe JavaScript včetně následujících:
- Páry název/hodnota: Představuje Data, za jménem následuje dvojtečka( : ) a dvojice Název/Hodnota jsou odděleny čárkou( , ).
- Složené závorky: Drží předměty.
- Hranaté závorky: Podržte pole s hodnotami oddělenými čárkou ( , ).
Klíče/název musí být řetězce s dvojitými uvozovkami a hodnoty musí být datové typy z následujících:
Příklad souboru JSON:
{ 'employee': [ { 'id': '01', 'name': 'Amit', 'department': 'Sales' }, { 'id': '04', 'name': 'sunil', 'department': 'HR' } ] }> Python Parse JSON String
V níže uvedeném kódu převedeme JSON na objekt Python. Abychom analyzovali řetězec JSON v Pythonu, nejprve importujeme modul JSON. V proměnné máme uložený řetězec JSON 'zaměstnanec' a tento řetězec JSON převedeme na objekt Pythonu pomocí json.loads() metoda modulu JSON v Pythonu. Poté vytiskneme jméno zaměstnance pomocí klíče ‚jméno‘ .
Python3
# Python program to convert JSON to Python> import> json> # JSON string> employee>=>'{'id':'09', 'name': 'Nitin', 'department':'Finance'}'> # Convert string to Python dict> employee_dict>=> json.loads(employee)> print>(employee_dict)> print>(employee_dict[>'name'>])> |
>
np.histogram
>Výstup
{'id': '09', 'name': 'Nitin', 'department': 'Finance'} Nitin> Python čte soubor JSON
Předpokládejme, že máme soubor JSON, který vypadá takto.

Zde jsme použili funkci open() ke čtení souboru JSON. Poté je soubor analyzován pomocí metody json.load(), která nám poskytne slovník s názvem data.
Python3
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ýstup:

Převeďte Python Dict na JSON
V níže uvedeném kódu převádíme a Pythonský slovník k objektu JSON pomocí json.dumps() metoda modulu JSON v Pythonu. Nejprve importujeme modul JSON a poté vytvoříme malý slovník s několika páry klíč–hodnota a poté jej předáme metodě json.dumps() s ‚indent=4‘, abychom tento slovník Pythonu převedli na objekt JSON. Protože jsme dali hodnotu odsazení 4, před každým datem jsou čtyři mezery, jak je vidět na výstupu.
Python3
# Python program to convert> # Python to JSON> import> json> > # Data to be written> dictionary>=> {> >'id'>:>'04'>,> >'name'>:>'sunil'>,> >'department'>:>'HR'> }> > # Serializing json> json_object>=> json.dumps(dictionary, indent>=> 4>)> print>(json_object)> |
>
>Výstup
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }> Následující typy objektů Pythonu lze převést na řetězce JSON:
Objekty Pythonu a jejich ekvivalentní převod na JSON:
| Krajta | Ekvivalent JSON |
|---|---|
| diktát | objekt |
| seznam, n-tice | pole |
| str | tětiva |
| int, plovoucí | číslo |
| Skutečný | skutečný |
| Nepravdivé | Nepravdivé |
| Žádný | nula |
Zápis JSON do souboru v Pythonu
JSON můžeme zapsat do souboru pomocí funkce json.dump() modulu JSON a zpracování souborů v Pythonu. V níže uvedeném programu jsme otevřeli soubor s názvem sample.json v režimu zápisu pomocí 'V' . Pokud soubor neexistuje, bude vytvořen. Json.dump() převede slovník Pythonu na řetězec JSON a uloží se do souboru sample.json.
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)> |
>
hodnota řetězce java
>
Výstup:

Python Pretty Print JSON
Když převedeme řetězec na JSON, data jsou v méně čitelném formátu. Aby to bylo čitelnější, můžeme použít pěkný tisk předáním dalších argumentů ve funkci json.dumps(), jako je Odrážka a sort_keys jak se používá v níže uvedeném kódu.
Python3
# Python program to convert JSON to Python> import> json> # JSON string> employee>=>'{'id':'09', 'name': 'Nitin', 'department':'Finance'}'> # Convert string to Python dict> employee_dict>=> json.loads(employee)> # Pretty Printing JSON string back> print>(json.dumps(employee_dict, indent>=> 4>, sort_keys>=> True>))> |
>
>Výstup
{ 'department': 'Finance', 'id': '09', 'name': 'Nitin' }>