Parser JSON en Python : guide complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que JSON et pourquoi le parser ?

JSON (JavaScript Object Notation) est un format textuel léger d'échange de données, devenu un standard pour la transmission d'informations entre applications. Malgré son nom, JSON n'est pas lié à JavaScript et est largement utilisé dans tous les langages de programmation modernes.

Les principaux avantages de JSON :

  • Format lisible par l'humain
  • Structure de données simple
  • Support universel
  • Compacité par rapport au XML

Exemple d'objet JSON :

{
  "name": "Alice",
  "age": 30,
  "is_active": true,
  "hobbies": ["reading", "cycling", "traveling"]
}

Le module json intégré en Python

Python propose un module intégré puissant, json, pour travailler avec des données JSON. Ce module permet deux opérations principales :

  1. La désérialisation — conversion d'une chaîne JSON en objets Python
  2. La sérialisation — conversion d'objets Python en chaîne JSON

Pour commencer, importez le module :

import json

Parser une chaîne JSON en objets Python

Utilisation de json.loads()

La fonction json.loads() (load string) convertit une chaîne JSON en un objet Python correspondant :

import json

json_data = '{"name": "Bob", "age": 25, "is_active": false}'
parsed_data = json.loads(json_data)

print(parsed_data)  # {'name': 'Bob', 'age': 25, 'is_active': False}
print(type(parsed_data))  # <class 'dict'>

Après le parsing, vous pouvez manipuler les données comme un dictionnaire classique :

print(parsed_data['name'])  # Bob
print(parsed_data['age'])   # 25

Correspondance des types de données

Les types JSON sont automatiquement convertis en types Python :

JSON Python
object dict
array list
string str
number int/float
true/false True/False
null None

Convertir des objets Python en JSON

Utilisation de json.dumps()

La fonction json.dumps() convertit des objets Python en chaîne JSON :

data = {'name': 'Alice', 'age': 30, 'is_active': True}
json_string = json.dumps(data)
print(json_string)  # {"name": "Alice", "age": 30, "is_active": true}

Paramètres de formatage

Pour améliorer la lisibilité, utilisez des paramètres supplémentaires :

data = {'name': 'Alice', 'age': 30, 'city': 'Paris'}
json_pretty = json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False)
print(json_pretty)

Les principaux paramètres :

  • indent — indentation pour le formatage
  • sort_keys — tri des clés
  • ensure_ascii — prise en charge des caractères Unicode

Travailler avec des fichiers JSON

Lire un fichier JSON

Utilisez json.load() pour lire des données JSON depuis un fichier :

with open('data.json', 'r', encoding='utf-8') as file:
    content = json.load(file)
    print(content)

Écrire du JSON dans un fichier

La fonction json.dump() écrit des données dans un fichier :

data = {'city': 'Paris', 'temperature': 15, 'weather': 'ensoleillé'}

with open('weather.json', 'w', encoding='utf-8') as file:
    json.dump(data, file, indent=4, ensure_ascii=False)

Bonnes pratiques pour les fichiers

  • Toujours spécifier l'encodage

Blogs

Book Recommendations