JSON és un format de dades lleuger per a l'intercanvi de dades que els humans poden llegir i escriure fàcilment, i analitzar i generar fàcilment per màquines. És un format de text complet independent de l'idioma. Per treballar amb dades JSON, Python té un paquet integrat anomenat JSON.
Exemple de cadena JSON
s = '{'id':01, 'name': 'Emily', 'language': ['C++', 'Python']}'> La sintaxi de JSON es considera un subconjunt de la sintaxi de JavaScript incloent el següent:
- Parelles nom/valor: Representa dades, el nom va seguit de dos punts ( : ), i els parells Nom/Valor estan separats per una coma( , ).
- Tirants arrissats: Conté objectes.
- Claudàtors: Mantenir les matrius amb valors separats per una coma ( , ).
Les claus/nom han de ser cadenes amb cometes dobles i els valors han de ser tipus de dades entre els següents:
Exemple de fitxer JSON:
{ 'employee': [ { 'id': '01', 'name': 'Amit', 'department': 'Sales' }, { 'id': '04', 'name': 'sunil', 'department': 'HR' } ] }> Python Parse JSON String
Al codi següent, convertirem JSON en un objecte Python. Per analitzar la cadena JSON Python, primer importem el mòdul JSON. Tenim una cadena JSON emmagatzemada en una variable 'empleat' i convertim aquesta cadena JSON en un objecte Python utilitzant json.loads() mètode del mòdul JSON a Python. Després d'això, imprimim el nom d'un empleat amb la clau 'nom' .
Python 3
# 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'>])> |
>
quants zeros hi ha 1.000 milions
>Sortida
{'id': '09', 'name': 'Nitin', 'department': 'Finance'} Nitin> Python llegeix el fitxer JSON
Suposem que tenim un fitxer JSON que sembla aquest.

Aquí, hem utilitzat la funció open() per llegir el fitxer JSON. A continuació, el fitxer s'analitza mitjançant el mètode json.load() que ens proporciona un diccionari anomenat data.
Python 3
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()> |
>
>
Sortida:

Converteix Python Dict a JSON
Al codi següent, estem convertint a Diccionari Python a un objecte JSON utilitzant json.dumps() mètode del mòdul JSON a Python. Primer importem el mòdul JSON i després fem un petit diccionari amb alguns parells clau-valor i després el passem al mètode json.dumps() amb 'indent=4' per convertir aquest diccionari de Python en un objecte JSON. Com que hem donat el valor de sagnat a 4, hi ha quatre espais en blanc abans de cada dada tal com es veu a la sortida.
Python 3
# 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)> |
>
>Sortida
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }> Els següents tipus d'objectes Python es poden convertir en cadenes JSON:
Objectes Python i la seva conversió equivalent a JSON:
| Python | Equivalent a JSON cadena per xerrar |
|---|---|
| dictat | objecte |
| llista, tupla | matriu |
| str | corda |
| int, flotar | nombre |
| És cert | veritat |
| Fals | fals |
| Cap | nul |
Escrivint JSON en un fitxer en Python
Podem escriure JSON al fitxer mitjançant la funció json.dump() del mòdul JSON i la gestió de fitxers a Python. Al programa següent, hem obert un fitxer anomenat sample.json en mode d'escriptura mitjançant 'En' . El fitxer es crearà si no existeix. Json.dump() transformarà el diccionari de Python en una cadena JSON i es desarà al fitxer sample.json.
Python 3
# 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)> |
>
>
Sortida:

Python Pretty Print JSON
Quan convertim una cadena a JSON, les dades estan en un format menys llegible. Per fer-lo més llegible, podem utilitzar una impressió bonica passant arguments addicionals a la funció json.dumps() com ara sagnat i tecles_claus tal com s'utilitza al codi següent.
Python 3
# 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>))> |
>
>Sortida
{ 'department': 'Finance', 'id': '09', 'name': 'Nitin' }>