Aller au contenu

JSON en Python

Nous avons préparé un guide complet sur le JSON en Python qui vous aidera à comprendre comment utiliser le JSON dans la programmation Python. Le JSON est un format d'échange de données populaire utilisé dans les services web et les API, et il est essentiel de savoir comment l'utiliser en Python.

Introduction au JSON en Python

JSON signifie JavaScript Object Notation, et c'est un format d'échange de données léger, facile à lire et à écrire pour les humains, et à analyser et générer pour les machines. Python est livré avec un module intégré appelé json qui fournit des méthodes pour travailler avec des données JSON.

Dans cet article, nous couvrirons les sujets suivants :

  • Syntaxe et types de données JSON
  • Encodage et décodage du JSON en Python
  • Travailler avec des données JSON imbriquées
  • Analyse de JSON depuis une URL

Syntaxe et types de données JSON

Les données JSON sont représentées sous forme de paires clé-valeur, similaires à un dictionnaire Python. Une clé est toujours une chaîne de caractères, entourée de guillemets doubles, et une valeur peut être une chaîne, un nombre, un objet, un tableau, un booléen ou null. Le JSON ne prend pas en charge les commentaires, mais il permet l'utilisation d'espaces blancs pour améliorer la lisibilité.

Voici un exemple de données JSON :


json
{
  "name": "John Doe",
  "age": 30,
  "city": "New York",
  "hobbies": ["reading", "traveling", "photography"]
}

Encodage et décodage du JSON en Python

Le module json fournit deux méthodes pour travailler avec des données JSON : json.dumps() pour encoder des objets Python au format JSON et json.loads() pour décoder des données JSON en objets Python.

Voici un exemple d'encodage d'un dictionnaire Python au format JSON :

Encoder un dictionnaire Python au format JSON

python
import json

person = {
    "name": "John Doe",
    "age": 30,
    "city": "New York",
    "hobbies": ["reading", "traveling", "photography"]
}

json_data = json.dumps(person)
print(json_data)

Le résultat sera :


console
{"name": "John Doe", "age": 30, "city": "New York", "hobbies": ["reading", "traveling", "photography"]}

Voici un exemple de décodage de données JSON en objets Python :

Décoder des données JSON en objets Python

python
import json

json_data = '{"name": "John Doe", "age": 30, "city": "New York", "hobbies": ["reading", "traveling", "photography"]}'
person = json.loads(json_data)
print(person)

Le résultat sera :


console
{'name': 'John Doe', 'age': 30, 'city': 'New York', 'hobbies': ['reading', 'traveling', 'photography']}

Remarque : Lors du décodage du JSON, il est recommandé de gérer les exceptions json.JSONDecodeError potentielles si l'entrée peut être malformée.

Travailler avec des données JSON imbriquées

Les données JSON peuvent également contenir des objets et des tableaux imbriqués. Voici un exemple d'objet JSON imbriqué :


json
{
  "name": {
    "first": "John",
    "last": "Doe"
  },
  "age": 30,
  "city": "New York",
  "hobbies": ["reading", "traveling", "photography"]
}

Pour accéder aux données imbriquées en Python, nous pouvons utiliser la notation entre crochets. Voici un exemple d'accès au prénom :

Accéder aux objets imbriqués dans un JSON en Python

python
import json

json_data = '{"name": {"first": "John", "last": "Doe"}, "age": 30, "city": "New York", "hobbies": ["reading", "traveling", "photography"]}'
person = json.loads(json_data)

print(person['name']['first'])

Le résultat sera :


console
John

Analyse de JSON depuis une URL

Dans de nombreux cas, vous devrez peut-être analyser des données JSON depuis une URL. Le module json fournit json.load() pour les objets de type fichier et json.loads() pour les chaînes. Pour les URL, vous récupérez généralement d'abord le contenu. Voici un exemple utilisant la bibliothèque moderne requests :

Analyser des données JSON depuis une URL en Python

python
import requests

response = requests.get("https://example.com/data.json")
data = response.json()
print(data)

Dans cet exemple, nous utilisons la bibliothèque requests pour récupérer l'URL. La méthode response.json() analyse automatiquement la chaîne JSON en un objet Python.

Conclusion

Dans cet article, nous avons couvert les bases du travail avec des données JSON en Python. Nous avons appris à encoder et décoder des données JSON, à travailler avec des données JSON imbriquées et à analyser des données JSON depuis une URL.

En suivant les meilleures pratiques décrites dans ce guide, vous pouvez créer du code Python de haute qualité qui gère efficacement les données JSON. Avec une meilleure compréhension du JSON, vous pouvez développer des applications plus robustes et efficaces qui répondent à vos besoins métier.

Pratique

En Python, qu'est-ce qui peut être converti en JSON ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.