JSON är ett lättviktigt dataformat för datautbyte som enkelt kan läsas och skrivas av människor och enkelt kan analyseras och genereras av maskiner. Det är ett komplett språkoberoende textformat. För att arbeta med JSON-data har Python ett inbyggt paket som heter JSON.
Exempel på JSON-sträng
s = '{'id':01, 'name': 'Emily', 'language': ['C++', 'Python']}'> Syntaxen för JSON anses vara en delmängd av syntaxen för JavaScript inklusive följande:
- Namn/värdepar: Representerar Data, namnet följs av ett kolon( : ), och Namn/Värde-paren separeras med ett kommatecken( , ).
- Lockiga hängslen: Håller föremål.
- Hakparentes: Håll arrayer med värden separerade med kommatecken ( , ).
Nycklar/namn måste vara strängar med dubbla citattecken och värden måste vara datatyper bland följande:
Exempel på JSON-fil:
{ 'employee': [ { 'id': '01', 'name': 'Amit', 'department': 'Sales' }, { 'id': '04', 'name': 'sunil', 'department': 'HR' } ] }> Python Parse JSON-sträng
I koden nedan kommer vi att konvertera JSON till ett Python-objekt. För att analysera JSON-strängen Python importerar vi först JSON-modulen. Vi har en JSON-sträng lagrad i en variabel 'anställd' och vi konverterar den här JSON-strängen till ett Python-objekt med hjälp av json.loads() metod för JSON-modulen i Python. Efter det skriver vi ut namnet på en anställd med nyckeln 'namn' .
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'>])> |
>
maven installera
>Produktion
{'id': '09', 'name': 'Nitin', 'department': 'Finance'} Nitin> Python läste JSON-filen
Låt oss anta att vi har en JSON-fil som ser ut så här.

Här har vi använt funktionen open() för att läsa JSON-filen. Sedan tolkas filen med metoden json.load() som ger oss en ordbok med namnet 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()> |
>
>
Produktion:

Konvertera Python Dict till JSON
I koden nedan konverterar vi en Python ordbok till ett JSON-objekt med hjälp av json.dumps() metod för JSON-modulen i Python. Vi importerar först JSON-modulen och gör sedan en liten ordbok med några nyckel-värdepar och skickade den sedan till metoden json.dumps() med 'indent=4' för att konvertera denna Python-ordbok till ett JSON-objekt. Eftersom vi har gett värdet för indrag till 4 finns det fyra blanksteg före varje data som ses i utdata.
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)> |
>
>Produktion
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }> Följande typer av Python-objekt kan konverteras till JSON-strängar:
Python-objekt och deras motsvarande konvertering till JSON:
| Pytonorm | JSON-motsvarighet |
|---|---|
| dikt | objekt |
| lista, tupel | array |
| str | sträng |
| int, flyta | siffra |
| Sann | Sann |
| Falsk | falsk |
| Ingen | null |
Skriver JSON till en fil i Python
Vi kan skriva JSON till fil med funktionen json.dump() för JSON-modulen och filhantering i Python. I programmet nedan har vi öppnat en fil med namnet sample.json i skrivläge med hjälp av 'I' . Filen kommer att skapas om den inte finns. Json.dump() kommer att omvandla Python-ordboken till en JSON-sträng och den kommer att sparas i filen 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)> |
kali linux kommandon
>
>
Produktion:

Python Pretty Print JSON
När vi konverterar en sträng till JSON är data i ett mindre läsbart format. För att göra det mer läsbart kan vi använda snygg utskrift genom att skicka ytterligare argument i funktionen json.dumps() som t.ex. indrag och sort_nycklar som används i koden nedan.
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>))> |
>
>Produktion
{ 'department': 'Finance', 'id': '09', 'name': 'Nitin' }>