Python:
Travailler avec JSON
Comment faire :
La bibliothèque intégrée json
de Python simplifie le processus d’encodage (convertir des objets Python en JSON) et de décodage (convertir JSON en objets Python). Voici comment vous pouvez l’utiliser :
Encoder des objets Python en JSON :
import json
data = {
"name": "John Doe",
"age": 30,
"isEmployee": True,
"addresses": [
{"city": "New York", "zipCode": "10001"},
{"city": "San Francisco", "zipCode": "94016"}
]
}
json_string = json.dumps(data, indent=4)
print(json_string)
Sortie :
{
"name": "John Doe",
"age": 30,
"isEmployee": true,
"addresses": [
{
"city": "New York",
"zipCode": "10001"
},
{
"city": "San Francisco",
"zipCode": "94016"
}
]
}
Décoder du JSON en objets Python :
json_string = '''
{
"name": "John Doe",
"age": 30,
"isEmployee": true,
"addresses": [
{
"city": "New York",
"zipCode": "10001"
},
{
"city": "San Francisco",
"zipCode": "94016"
}
]
}
'''
data = json.loads(json_string)
print(data)
Sortie :
{
'name': 'John Doe',
'age': 30,
'isEmployee': True,
'addresses': [
{'city': 'New York', 'zipCode': '10001'},
{'city': 'San Francisco', 'zipCode': '94016'}
]
}
Travailler avec des bibliothèques tierces :
Pour une gestion complexe du JSON, telles que la validation de schéma ou l’analyse de fichiers JSON directement à partir d’URLs, des bibliothèques comme requests
pour les requêtes HTTP et jsonschema
pour la validation peuvent être utiles.
Exemple avec requests
pour analyser du JSON depuis une URL :
import requests
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
Ce snippet récupère les données JSON depuis une URL donnée et les convertit directement en un objet Python.
Utiliser jsonschema
pour valider le JSON :
D’abord, installez la bibliothèque via pip :
pip install jsonschema
Ensuite, utilisez-la comme suit :
from jsonschema import validate
import jsonschema
schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "number"},
"isEmployee": {"type": "boolean"},
},
"required": ["name", "age", "isEmployee"]
}
# En supposant que `data` est un dictionnaire obtenu après décodage JSON
try:
validate(instance=data, schema=schema)
print("Données JSON valides.")
except jsonschema.exceptions.ValidationError as err:
print("Erreur de validation :", err)
Cet exemple valide votre dictionnaire Python (obtenu à partir de données JSON décodées) par rapport à un schéma prédéfini, en s’assurant que les données sont conformes aux formats et types attendus.