| title | Module Python JSON - Fiche de Référence Python |
|---|---|
| description | Python dispose du module intégré json, permettant de manipuler les données JSON (JavaScript Object Notation). |
JSON signifie JavaScript Object Notation et est un format léger pour stocker et transporter des données. JSON est souvent utilisé lorsque des données sont envoyées d'un serveur à une page web.
Python possède le module intégré json, qui nous permet de travailler avec des données JSON.
import jsonUn objet JSON est similaire à un dictionnaire Python, mais présente les différences suivantes :
- Les clés JSON sont toujours des chaînes de caractères (string).
- Les chaînes de caractères sont toujours entourées de guillemets doubles.
- Un booléen JSON commence par des lettres minuscules.
nullest l'équivalent JSON deNoneen Python.
Les types de données pris en charge par JSON sont :
- String (Chaîne de caractères)
- Number (Nombre)
- boolean (Booléen)
- null
- Object (Objet)
- Array (Tableau)
Exemple :
{
"name": "Charles",
"age": 33,
"has_hair": false,
"hobbies": ["photography", "running"],
"appearance": {
"eyes": "brown",
"hair_color": null
}
}Avec la méthode json.loads, vous pouvez analyser un objet JSON et le transformer en un dictionnaire Python :
import json
# Chaîne JSON à analyser
json_person = '{"name": "Charles", "age": 33, "has_hair": false, "hobbies": ["photography", "running"]}'
# Analyse de la chaîne JSON en dictionnaire Python
python_person = json.loads(json_person)
python_person{'name': 'Charles', 'age': 33, 'has_hair': False, 'hobbies': ['photography', 'running']}
type(python_person)<class 'dict'>
# Accéder à la valeur du dictionnaire en utilisant la méthode get
python_person.get("name")'Charles'
Le chemin inverse. La méthode dumps() transforme un objet Python en une chaîne JSON :
import json
# Dictionnaire Python à convertir
python_person = {'name': 'Charles', 'age': 33, 'has_hair': False, 'hobbies': ['photography', 'running']}
# Conversion de l'objet Python en chaîne JSON
json_person = json.dumps(python_person)
json_person'{"name": "Charles", "age": 33, "has_hair": false, "hobbies": ["photography", "running"]}'
type(json_person)<class 'str'>
import json
# Lecture du fichier JSON
with open("filename.json", "r") as f:
json_content = json.loads(f.read())
# Note : Cette ligne semble redondante - json_content est déjà analysé
json.loads(json_content){'name': 'Charles', 'age': 33, 'has_hair': False}
import json
person = {'name': 'Charles', 'age': 33}
# Écriture du dictionnaire Python dans un fichier JSON
with open("filename.json", "w") as f:
f.write(json.dumps(person))- Cheatsheet : JSON et YAML
- Cheatsheet : Dictionnaires
- Cheatsheet : Lecture et Écriture de Fichiers
- Blog : Types de Données Python
- dict()
- str()
- open()