Lire, Écrire, Parse le JSON avec Python

JSON (JavaScript Object Notation) est un format de données populaire utilisé pour représenter des données structurées. Il est courant de transmettre et de recevoir des données entre un serveur et une application Web au format JSON.

En Python, JSON existe sous forme de chaîne. Par exemple:

obj = '{"name":"Alex", "age":18, "ville":"Paris"}'

 
 

JSON en Python

Python a un package intégré appelé json, qui peut être utilisé pour travailler avec des données JSON.

import json

 

Parser JSON – Convertir du JSON en Python

Si vous avez une chaîne JSON, vous pouvez l’analyser en utilisant la méthode json.loads(). Le résultat sera un dictionnaire Python.

L’exemple suivant convertie un objet JSON en un dictionnaire Python.

import json

# objet JSON:
obj = '{"name":"Alex", "age":18, "ville":"Paris"}'

# parser l'objet JSON:
dict = json.loads(obj)

# le résultat est un dictionnaire Python:
print(dict["name"])

Sortie:

Alex

 
 

Convertir de Python en JSON

Si vous avez un objet Python, vous pouvez le convertir en une chaîne JSON en utilisant la méthode json.dumps().

L’exemple suivant convertie un dictionnaire Python en un objet JSON.

import json

# objet Python (dictionnaire):
dict = {
  "name": "John",
  "age": 18,
  "ville": "Paris"
}

# convertir en JSON
obj = json.dumps(dict)

# objet JSON 
print(obj)

Sortie:

{"age": 18, "name": "John", "ville": "Paris"}

 

Formater le résultat

L’exemple ci-dessus affiche une chaîne JSON, mais elle n’est pas très facile à lire, sans indentations ni sauts de ligne.

La méthode json.dumps() a des paramètres pour faciliter la lecture du résultat.

L’exemple suivant utilise le paramètre indent pour définir le nombre d’espaces:

# convertir en JSON
obj = json.dumps(dict, indent=5)

Sortie:

{
     "ville": "Paris",
     "age": 18,
     "name": "John"
}
 
Vous pouvez également définir les séparateurs, la valeur par défaut est (",", ":"), ce qui signifie utiliser une virgule et un espace pour séparer chaque objet, et deux points et un espace pour séparer les clés des valeurs:

# convertir en JSON
obj = json.dumps(dict, indent=5, separators=("; ", " -> "))

Sortie:

{
     "age" -> 18;
     "ville" -> "Paris";
     "name" -> "John"
}

 

Triez le résultat

La méthode json.dumps() a des paramètres pour classer les clés dans le résultat. Utilisez le paramètre sort_keys pour spécifier si le résultat doit être trié ou non:

# convertir en JSON
obj = json.dumps(dict, indent=5, sort_keys=True)

Sortie:

{
     "age": 18,
     "name": "John",
     "ville": "Paris"
}

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.