JSON Python

JSON est une syntaxe utilisée pour stocker et échanger des données.

JSON est un texte écrit en notation de l'objet JavaScript (JavaScript object notation).

JSON dans Python

Python a un module nommé json le paquet intégré, qui peut être utilisé pour traiter les données JSON.

Exemple

Importez json Module :

import json

Analyser JSON - Convertir JSON en Python

Si la chaîne JSON est présente, vous pouvez utiliser json.loads() Méthode pour l'analyser.

Le résultat sera un dictionnaire Python.

Exemple

Convertir JSON en Python :

import json
# Certains JSON :
x =  '{ "name":"Bill", "age":63, "ville":"Seatle"}'
# Analyse de x :
y = json.loads(x)
# Le résultat est un dictionnaire Python :
print(y["age"])

Exécuter l'exemple

Convertir Python en JSON

Si vous avez un objet Python, vous pouvez utiliser json.dumps() Méthode pour le convertir en chaîne JSON.

Exemple

Convertir Python en JSON :

import json
# Objet Python (dictionnaire) :
x = {
  "name": "Bill",
  "age": 63,
  "ville": "Seatle"
}
# Conversion en JSON :
y = json.dumps(x)
# Le résultat est une chaîne JSON :
print(y)

Exécuter l'exemple

Vous pouvez convertir les objets Python de type suivant en chaîne JSON :

  • dict
  • list
  • tuple
  • string
  • entier
  • flottant
  • True
  • False
  • None

Exemple

Convertir un objet Python en chaîne JSON et afficher la valeur :

import json
print(json.dumps({"name": "Bill", "age": 63}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

Exécuter l'exemple

Lorsque Python est converti en JSON, les objets Python sont convertis en équivalents JSON (JavaScript) :

Python JSON
dict Objet
list Tableau
tuple Tableau
str Chaîne
entier Nombre
flottant Nombre
True true
False false
None null

Exemple

Transformer les objets Python contenant tous les types de données légaux :

import json
x = {
  "name": "Bill",
  "age": 63,
  "married": Vrai,
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}
print(json.dumps(x))

Exécuter l'exemple

Formater les résultats

L'exemple ci-dessus imprime une chaîne JSON, mais elle n'est pas facile à lire, sans indentation et sans retour à la ligne.

json.dumps() La méthode fournit des paramètres pour rendre les résultats plus lisibles :

Exemple

Utilisation indent Paramètres pour définir le nombre d'indentation :

json.dumps(x, indent=4)

Exécuter l'exemple

Vous pouvez également définir les séparateurs, la valeur par défaut étant (", ", ": "), ce qui signifie utiliser des virgules et des espaces pour séparer chaque objet, et des deux points et des espaces pour séparer les clés des valeurs :

Exemple

Utilisation separators Paramètres pour modifier les séparateurs par défaut :

json.dumps(x, indent=4, separators=(". ", " = "))

Exécuter l'exemple

Trier les résultats

json.dumps() La méthode fournit un paramètre pour trier les clés du résultat :

Exemple

Utilisation sort_keys Paramètres pour spécifier si le résultat doit être trié :

json.dumps(x, indent=4, sort_keys=True)

Exécuter l'exemple