Introduction à JSON (JavaScript Object Notation)

Comprendre et manipuler JSON dans vos applications.

🔙

Objectifs du cours

1. Introduction à JSON

JSON (JavaScript Object Notation) est un format léger d'échange de données, facile à lire pour les humains et simple à analyser par les machines. Bien que son nom mentionne JavaScript, JSON est indépendant du langage et compatible avec la plupart des langages de programmation modernes.

Pourquoi utiliser JSON ?

2. Structure de base d'un document JSON

Un document JSON est composé de paires clé-valeur et de tableaux. JSON utilise deux structures principales :

Exemple de syntaxe JSON :

{ "nom": "Dupont", "age": 30, "email": "dupont@example.com", "hobbies": ["lecture", "voyage", "cinéma"], "adresse": { "rue": "123 Rue de Paris", "ville": "Paris", "codePostal": "75001" } }

Les types de données dans JSON

3. Syntaxe et Règles de JSON

Quelques règles à respecter dans JSON :

4. Création et Lecture de fichiers JSON

4.1 Enregistrer des données en JSON

Pour sauvegarder un fichier JSON, on peut utiliser un éditeur de texte (comme Visual Studio Code) et l'enregistrer avec l'extension .json

4.2 En JavaScript

// Convertir un objet JavaScript en JSON const utilisateur = { nom: "Dupont", age: 30 }; const utilisateurJSON = JSON.stringify(utilisateur); // Convertir une chaîne JSON en objet JavaScript const donnees = '{"nom": "Dupont", "age": 30}'; const objetUtilisateur = JSON.parse(donnees);

4.3 En Python

import json # Écrire des données dans un fichier JSON data = {"nom": "Dupont", "age": 30} with open('utilisateur.json', 'w') as f: json.dump(data, f) # Lire des données depuis un fichier JSON with open('utilisateur.json', 'r') as f: data = json.load(f) print(data)

Manipulation de JSON en JavaScript et Python

1. Ajout et modification de clés/valeurs

En JavaScript

Pour ajouter ou modifier une paire clé-valeur dans un objet JSON, utilisez la syntaxe suivante :

// Création d'un objet JSON let utilisateur = { "nom": "Dupont", "age": 30 }; // Ajouter une nouvelle clé utilisateur.email = "dupont@example.com"; // Mettre à jour une clé existante utilisateur.age = 31; console.log(utilisateur); // {"nom": "Dupont", "age": 31, "email": "dupont@example.com"}

En Python

En Python, pour ajouter ou modifier une clé, utilisez le dictionnaire :

import json # Création d'un dictionnaire JSON utilisateur = {"nom": "Dupont", "age": 30} # Ajouter une nouvelle clé utilisateur["email"] = "dupont@example.com" # Mettre à jour une clé existante utilisateur["age"] = 31 print(utilisateur) # {'nom': 'Dupont', 'age': 31, 'email': 'dupont@example.com'}

2. Suppression de clés

En JavaScript

Pour supprimer une clé d'un objet JSON, utilisez l'opérateur delete

let utilisateur = { "nom": "Dupont", "age": 30, "email": "dupont@example.com" }; // Suppression de la clé "age" delete utilisateur.age; console.log(utilisateur); // {"nom": "Dupont", "email": "dupont@example.com"}

En Python

En Python, utilisez del pour supprimer une clé :

utilisateur = {"nom": "Dupont", "age": 30, "email": "dupont@example.com"} # Suppression de la clé "age" del utilisateur["age"] print(utilisateur) # {'nom': 'Dupont', 'email': 'dupont@example.com'}

3. Recherche de clés et valeurs

En JavaScript

Pour vérifier si une clé existe dans un objet JSON, utilisez hasOwnProperty

let utilisateur = { "nom": "Dupont", "age": 30 }; // Vérifier si la clé "age" existe console.log(utilisateur.hasOwnProperty("age")); // true // Accéder directement à une valeur console.log(utilisateur.nom); // Dupont

En Python

En Python, utilisez l'opérateur in pour vérifier si une clé est présente dans un dictionnaire :

utilisateur = {"nom": "Dupont", "age": 30} # Vérifier si la clé "age" existe print("age" in utilisateur) # True # Accéder directement à une valeur print(utilisateur["nom"]) # Dupont

4. Parcours des clés et valeurs

En JavaScript

Pour parcourir toutes les clés et valeurs dans un objet JSON, utilisez une boucle for...in

let utilisateur = { "nom": "Dupont", "age": 30, "email": "dupont@example.com" }; for (let cle in utilisateur) { console.log(cle + ": " + utilisateur[cle]); }

En Python

En Python, utilisez une boucle for pour parcourir les éléments d'un dictionnaire :

utilisateur = {"nom": "Dupont", "age": 30, "email": "dupont@example.com"} for cle, valeur in utilisateur.items(): print(f"{cle}: {valeur}")

5. Conversion JSON et String

En JavaScript

Pour convertir un objet JavaScript en JSON, utilisez JSON.stringify() et pour convertir du JSON en objet, utilisez JSON.parse()

// Objet JavaScript let utilisateur = { "nom": "Dupont", "age": 30 }; // Conversion en JSON let utilisateurJSON = JSON.stringify(utilisateur); console.log(utilisateurJSON); // '{"nom":"Dupont","age":30}' // Conversion en objet JavaScript let objetUtilisateur = JSON.parse(utilisateurJSON); console.log(objetUtilisateur); // {nom: "Dupont", age: 30}

En Python

Pour convertir un dictionnaire en chaîne JSON, utilisez json.dumps() et pour convertir du JSON en dictionnaire, utilisez json.loads()

import json # Dictionnaire Python utilisateur = {"nom": "Dupont", "age": 30} # Conversion en JSON utilisateurJSON = json.dumps(utilisateur) print(utilisateurJSON) # '{"nom": "Dupont", "age": 30}' # Conversion en dictionnaire Python objetUtilisateur = json.loads(utilisateurJSON) print(objetUtilisateur) # {'nom': 'Dupont', 'age': 30}

5. Exercices pratiques

Exercice 1 :

Créez un fichier JSON représentant un profil d'utilisateur avec les attributs nom âge email Et un tableau hobbies

Exercice 2 :

En JavaScript, écrivez une fonction qui récupère des données d'un fichier JSON et affiche chaque attribut dans la console.

Exercice 3 :

Utilisez Python pour créer et lire un fichier JSON contenant les informations d'un produit : nom, prix, stock