JSON
Utiliser le JSON avec Python
JSON est une syntaxe pour le stockage et l'échange de données.
Python a un package intégré appelé json, qui peut être utilisé pour travailler avec ce type de données.
Importer le module json avec Python :
import json
Parse JSON - Convertir JSON en Python
Si vous avez une chaîne JSON, vous pouvez l'analyser en utilisant la méthode json.loads().
import json # Données JSON: x = '{ "name":"Paul", "age":21, "city":"Lille"}' # parse x: y = json.loads(x) # Python renvoie un dictionnaire: print(y["age"])
Convertir Python en JSON
Si vous avez un objet Python, vous pouvez le convertir en chaîne JSON en utilisant la méthode json.dumps().
import json # a Python object (dict): x = { "name": "Paul", "age": 21, "city": "Lille" } # Conversion en JSON: y = json.dumps(x) # Le résultat est une chaîne de caractères: print(y)
Vous pouvez convertir les objets Python des types suivants en chaînes JSON :
- dict
- list
- tuple
- int
- float
- string
- True
- False
- None
Convertir les objets Python en chaînes JSON, et afficher les valeurs :
import json print(json.dumps({"name": "Paul", "age": 21})) print(json.dumps(["lion", "tigre"])) print(json.dumps(("lion", "tigre"))) print(json.dumps("Coucou")) print(json.dumps(85)) print(json.dumps(21.36)) print(json.dumps(True)) print(json.dumps(False)) print(json.dumps(None))
Lorsque vous convertissez de Python en JSON, les objets Python sont convertis en équivalent JSON (JavaScript) :
Python | JSON |
---|---|
dict | Objet |
list | Tableau |
tuple | Tableau |
str | Chaîne de caractères |
int | Nombre |
float | Nombre |
True | Vrai |
False | Faux |
None | null |
Convertir un objet Python contenant tous les formats :
import json x = { "name": "Pierre", "age": 41, "married": True, "divorced": False, "children": ("Paul","Jacques"), "pets": None, "cars": [ {"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1} ] } print(json.dumps(x))
Formater le résultat
L'exemple ci-dessus imprime une chaîne JSON, mais elle n'est pas très facile à lire, sans indentation ni saut de ligne.
La méthode json.dumps() permet de faciliter la lecture du résultat.
Utilisez le paramètre indent pour définir le nombre d'indentations :
json.dumps(x, indent=4)
Vous pouvez également définir les séparateurs, la valeur par défaut est (", ", ", " : "), c'est à dire une virgule et un espace pour séparer chaque objet, et deux points et un espace pour séparer les clés des valeurs :
json.dumps(x, indent=4, separators=(". ", " = "))
Trier le résultat
La méthode json.dumps() permet d'ordonner les résultats.
Utilisez le paramètre sort_keys pour spécifier si le résultat doit être trié ou non :
json.dumps(x, indent=4, sort_keys=True)
Article précédent