Guide complet de la manipulation des données JSON en Python | De la lecture à l’écriture

1. Qu’est‑ce que JSON ?

Vue d’ensemble de JSON

JSON (JavaScript Object Notation) est un format léger et très efficace pour l’échange de données. Il est principalement utilisé pour la communication entre les applications web et les serveurs. Bien que JSON soit basé sur JavaScript, il est pris en charge par presque tous les langages de programmation. Il joue un rôle crucial dans la récupération et l’envoi de données via les API.

Structure de JSON

JSON se compose de paires clé‑valeur, les données étant enfermées entre accolades {}. Voici un exemple simple :

{
    "name": "John",
    "age": 30,
    "isStudent": false,
    "courses": ["Math", "Physics", "Chemistry"]
}

Cette structure est très flexible et peut inclure des listes ainsi que des objets imbriqués.

Ad

2. Méthode de base pour lire les fichiers JSON en Python

Présentation de la bibliothèque json de Python

Python fournit une bibliothèque intégrée json, ce qui facilite la manipulation des fichiers JSON sans aucune installation supplémentaire. Cette bibliothèque comprend des fonctions fondamentales pour lire et écrire des données JSON.

Comment lire un fichier JSON

Nous utilisons la fonction json.load() pour lire les données d’un fichier. L’exemple suivant montre comment charger du JSON depuis un fichier et le manipuler sous forme de dictionnaire.

import json

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

print(data)
Ad
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Comment lire des chaînes JSON en Python

Utilisation de la fonction json.loads()

Pour convertir des données JSON au format chaîne en un dictionnaire Python, utilisez la fonction json.loads(). Elle est couramment employée lors du traitement des réponses d’API contenant des chaînes JSON.

import json

json_string = '{"name": "Alice", "age": 25, "city": "Tokyo"}'
data = json.loads(json_string)

print(data)

Cette méthode vous permet de transformer facilement des chaînes JSON en dictionnaires.

Ad

4. Considérations importantes et gestion des erreurs lors de la lecture de fichiers JSON

Erreurs courantes et solutions

L’une des erreurs les plus fréquentes lors de la lecture d’un fichier JSON est JSONDecodeError. Elle se produit lorsque le fichier n’est pas au format JSON valide. Une gestion appropriée des erreurs est essentielle pour identifier et résoudre les problèmes.

import json

try:
    with open('data.json', 'r', encoding='utf-8') as f:
        data = json.load(f)
except json.JSONDecodeError as e:
    print(f"JSON Load Error: {e}")

Problèmes d’encodage

Lors du traitement de fichiers JSON contenant des caractères non ASCII, comme du texte japonais, spécifier encoding='utf-8' aide à éviter la corruption des caractères.

Ad
侍エンジニア塾

5. Gestion efficace de gros volumes de données JSON en Python

Traitement de données à faible consommation de mémoire

Charger entièrement de gros fichiers JSON en mémoire peut entraîner des pénuries de mémoire. Pour éviter cela, il est recommandé d’utiliser des bibliothèques de streaming telles que ijson.

import ijson

with open('large_file.json', 'r', encoding='utf-8') as f:
    for item in ijson.items(f, 'item'):
        print(item)

L’utilisation de ijson permet un traitement efficace de données à grande échelle.

Ad

6. Utilisation des données JSON après les avoir converties en dictionnaire Python

Opérations de base sur les dictionnaires

Convertir du JSON en dictionnaire facilite grandement la manipulation des données. Par exemple, vous pouvez récupérer les valeurs de clés spécifiques, mettre à jour des données ou ajouter de nouvelles paires clé‑valeur.

# Example of dictionary operations
print(data['name'])  # Outputs 'Alice'
data['age'] = 26  # Updating a value
data['email'] = 'alice@example.com'  # Adding a new key-value pair
Ad

7. Écriture de données JSON en Python

Écriture de données dans un fichier JSON

Pour écrire un dictionnaire Python sous forme de données JSON et l’enregistrer dans un fichier, utilisez la fonction json.dump(). Cela vous permet de stocker facilement les données modifiées.

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

L’option indent=4 formate la sortie pour la rendre lisible, tandis que ensure_ascii=False garantit que les caractères non ASCII (comme le texte japonais) sont correctement préservés.

Ad