Analyseur et validateur Python JSON
Apprenez à lire, valider, modifier et sérialiser JSON en Python. Maîtrisez la bibliothèque json intégrée avec des exemples réalistes.
Aperçu
JSON (JavaScript Object Notation) est le format standard d'échange de données sur le Web. Python fournit un puissant module intégré nommé « json » qui traduit les chaînes JSON en dictionnaires Python et vice versa.
Le module expose deux ensembles principaux d'opérations : "loads" et "dumps" pour gérer directement les chaînes JSON, et "load" et "dump" pour écrire ou lire des données directement à partir de flux de fichiers.
Lorsque vous travaillez avec JSON, la gestion des erreurs est essentielle. Python génère une « json.JSONDecodeError » si la syntaxe de la chaîne est rompue, ce qui est essentiel à détecter lors de la consommation de charges utiles à partir d'API publiques.
Sortie de code et d'exécution
Un script démontrant la validation de chaîne JSON, l'analyse de dict, les modifications et une jolie impression.
import json
raw_json = """
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": ["admin", "developer"],
"verified": true
}
}
"""
try:
# Parsing JSON string into Python dict
data = json.loads(raw_json)
print("--- JSON Decoded Successfully ---")
print(f"Username: {data['data']['username']}")
print(f"Is Admin: {'admin' in data['data']['roles']}")
# Mutating Python dict
data['data']['verified'] = False
data['data']['last_login'] = "2026-05-25"
# Serializing dict back to formatted JSON
pretty_json = json.dumps(data, indent=4)
print("\n--- Modified JSON String ---")
print(pretty_json)
except json.JSONDecodeError as e:
print(f"Invalid JSON Format: {e}")--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True
--- Modified JSON String ---
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": [
"admin",
"developer"
],
"verified": false,
"last_login": "2026-05-25"
}
}Mise en œuvre étape par étape
- Lecture des configurations d'application et des fichiers d'informations d'identification
- Analyser les réponses des points de terminaison de l'API REST
- Enregistrement des états ou des niveaux du programme dans les utilitaires de bureau
Foire aux questions
Quelle est la différence entre dump et dumps en Python ?
`dumps` sérialise un objet dans un format de chaîne JSON, tandis que `dump` écrit le flux JSON sérialisé directement dans un objet fichier inscriptible.
Comment Python gère-t-il les valeurs nulles JSON ?
Le décodeur `json` de Python mappe automatiquement JSON `null` à `None`, `true` et `false` à `True` et `False`, et les tableaux aux listes.