💻sciences

Comprendre le format JSON en NSI : le guide complet

26 août 2026 7 min de lecture

En NSI, tu vas très vite rencontrer le fameux JSON (JavaScript Object Notation). Pas de panique : c'est un format de données ultra simple, utilisé partout sur le web. Dans cet article, on va décortiquer ensemble ce qu'est le JSON, comment l'écrire, comment le manipuler en Python, et pourquoi il est essentiel pour les données structurées. À la fin, tu seras prêt.e pour le bac !

Qu'est-ce que le format JSON ?

Le JSON est un format de texte qui permet de représenter des données de manière organisée. Il a été conçu pour être facile à lire pour les humains et facile à analyser pour les machines. Concrètement, c'est une façon de structurer des informations sous forme de paires clé-valeur et de listes.

Les deux structures de base

Le JSON repose sur deux structures :

  • L'objet : un ensemble de paires clé-valeur, entouré d'accolades {}. Par exemple : {"nom": "Marie", "age": 17}.
  • Le tableau : une liste ordonnée de valeurs, entourée de crochets []. Par exemple : ["NSI", "Maths", "Physique"].

Ces structures peuvent s'imbriquer : un objet peut contenir des tableaux, et un tableau peut contenir des objets. C'est cette flexibilité qui rend le JSON si puissant.

Types de données autorisés

Dans un fichier JSON, tu peux stocker :

  • Des chaînes de caractères (entre guillemets doubles) : "Bonjour"
  • Des nombres (entiers ou décimaux) : 42, 3.14
  • Des booléens : true ou false
  • Des valeurs nulles : null
  • Des objets et des tableaux, comme vu ci-dessus

Attention : en JSON, les clés doivent être des chaînes de caractères entre guillemets doubles. Les guillemets simples ne sont pas acceptés (contrairement à Python).

Pourquoi le JSON est-il si utilisé en NSI ?

Le programme de NSI met l'accent sur la représentation et le traitement des données. Le JSON est devenu un standard pour échanger des données entre un serveur et un client (par exemple, une page web). Quand tu utilises une API (interface de programmation), les données sont souvent renvoyées en JSON. Comprendre ce format te permet de récupérer des informations depuis le web et de les exploiter dans tes programmes.

De plus, le JSON est très proche des dictionnaires Python : c'est un atout ! Si tu sais manipuler un dictionnaire en Python, tu sauras manipuler du JSON (après une petite conversion).

Manipuler le JSON en Python : les bases

Python propose le module json pour convertir des données Python en JSON et inversement. Voici les deux fonctions essentielles :

  • json.dumps() : transforme un objet Python (dictionnaire, liste) en chaîne JSON.
  • json.loads() : transforme une chaîne JSON en objet Python.

Exemple pas à pas

Imaginons que tu veuilles représenter un élève avec son nom, son âge et ses matières préférées. En Python, tu peux créer un dictionnaire :

import json

eleve = {
    "nom": "Lucas",
    "age": 17,
    "matieres": ["NSI", "Maths", "Physique"],
    "est_lyceen": True
}

# Conversion en chaîne JSON
json_str = json.dumps(eleve, ensure_ascii=False)
print(json_str)
# Sortie : {"nom": "Lucas", "age": 17, "matieres": ["NSI", "Maths", "Physique"], "est_lyceen": true}

Note que True devient true en JSON (minuscule). Le paramètre ensure_ascii=False permet de garder les caractères accentués tels quels, sinon ils seraient convertis en \u.

Maintenant, l'inverse : à partir d'une chaîne JSON, on obtient un dictionnaire Python.

json_data = '{"nom": "Lucas", "age": 17}'
eleve = json.loads(json_data)
print(eleve["nom"])  # Affiche Lucas
print(type(eleve))    # <class 'dict'>

Et voilà, tu sais déjà lire et écrire du JSON !

Cas d'usage concret : lire un fichier JSON

En NSI, on te demandera souvent de lire des données depuis un fichier .json. Par exemple, un fichier eleves.json contenant une liste d'élèves :

[
    {"nom": "Lucas", "age": 17},
    {"nom": "Marie", "age": 16}
]

Pour le lire et afficher les noms, on fait :

import json

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

for eleve in eleves:
    print(eleve["nom"])

Ce pattern est très courant : json.load() (sans 's') pour lire un fichier, json.loads() pour lire une chaîne.

De même, pour écrire un fichier JSON, on utilise json.dump() :

import json

nouvelles_donnees = {"nom": "Chloé", "age": 16}

with open("eleves.json", "a", encoding="utf-8") as f:
    # Attention : il faut gérer l'ajout à la liste, ici on écrase
    json.dump(nouvelles_donnees, f, ensure_ascii=False)

Mais attention, écrire dans un fichier JSON demande de la rigueur : il faut souvent charger tout le fichier, modifier la structure, puis réécrire.

JSON et API : un duo incontournable

Quand tu interroges une API (par exemple, une API météo ou une API de données publiques), la réponse est souvent au format JSON. Voici un exemple simplifié avec la bibliothèque requests (à installer si ce n'est pas déjà fait) :

import requests
import json

url = "https://api.exemple.com/meteo?ville=Paris"
reponse = requests.get(url)
donnees = reponse.json()  # Convertit directement en dict Python

print(donnees["temperature"])

Grâce à .json(), tu obtiens directement un dictionnaire ou une liste Python, que tu peux manipuler comme tu veux. C'est un vrai super-pouvoir !

Erreurs fréquentes à éviter

Quand tu manipules du JSON, tu risques de tomber sur des erreurs. Voici les plus courantes :

  • Oublier les guillemets doubles : les clés et les chaînes doivent être entre ", sinon erreur.
  • Utiliser des virgules en trop : dans un objet, la dernière paire clé-valeur ne doit pas être suivie d'une virgule.
  • Confondre true et True : en JSON, c'est en minuscules.
  • Oublier l'encodage : quand tu ouvres un fichier, pense à encoding="utf-8" pour les accents.

En cas d'erreur de parsing, Python te donnera un message avec la ligne et le caractère incriminé. Lis-le attentivement, c'est ton meilleur ami pour débugger !

JSON vs autres formats de données

En NSI, tu verras aussi d'autres formats comme le CSV ou le XML. Le JSON a plusieurs avantages :

  • Légèreté : moins verbeux que le XML.
  • Lisibilité : facile à comprendre pour un humain.
  • Intégration naturelle avec JavaScript : c'est le format natif du web.

Cependant, le CSV est plus simple pour des tableaux plats, et le XML permet des métadonnées plus riches. Tout dépend de l'usage !

Se préparer au bac NSI : le JSON en exercice

Au bac, tu peux avoir des exercices où il faut :

  • Interpréter un fichier JSON donné.
  • Écrire un script Python qui lit un fichier JSON et extrait des informations.
  • Créer un JSON à partir d'un dictionnaire Python.

Pour t'entraîner, tu peux consulter nos exercices NSI et nos cours dédiés. Tu peux aussi revoir les bases des bases de données SQL pour comparer avec le JSON.

Un conseil : entraîne-toi à manipuler des fichiers JSON avec Python sur des données réelles (par exemple, des données ouvertes de ta ville). Plus tu pratiques, plus c'est naturel.

Conclusion

Le JSON est un format simple mais incontournable en NSI. Tu sais maintenant ce que c'est, comment l'écrire, et comment le manipuler en Python. C'est une compétence clé pour le bac et pour la suite de tes études en informatique. Continue à t'exercer, et n'hésite pas à explorer des API pour voir le JSON en action. Tu vas y arriver !

Si tu veux aller plus loin, consulte aussi nos ressources sur AlloBac et AlloLycée pour des révisions complètes.

📚 Pour aller plus loin

Questions fréquentes

Qu'est-ce que le format JSON en NSI ?

Le JSON (JavaScript Object Notation) est un format de données textuel utilisé pour structurer des informations sous forme de paires clé-valeur et de listes. En NSI, il est étudié pour représenter et échanger des données structurées, notamment via des API.

Comment convertir un dictionnaire Python en JSON ?

Utilise la fonction json.dumps() du module json. Par exemple : json.dumps({"nom": "Lucas"}) retourne la chaîne '{"nom": "Lucas"}'. Pense à préciser ensure_ascii=False pour conserver les accents.

Quelle est la différence entre json.load() et json.loads() en Python ?

json.load() lit un fichier contenant du JSON et le convertit en objet Python. json.loads() prend une chaîne de caractères JSON et la convertit en objet Python. Le 's' signifie 'string'.

Quels sont les types de données autorisés en JSON ?

Le JSON autorise les chaînes de caractères (entre guillemets doubles), les nombres (entiers ou décimaux), les booléens (true/false), les valeurs nulles (null), les objets (accolades) et les tableaux (crochets).

Comment lire un fichier JSON en Python ?

Ouvre le fichier avec open() en mode lecture, puis utilise json.load() pour le convertir en objet Python. Par exemple : with open("data.json", "r", encoding="utf-8") as f: data = json.load(f).

Pourquoi le JSON est-il important pour le bac NSI ?

Le JSON est au programme de NSI car il illustre la notion de données structurées et leur traitement. Au bac, tu peux être amené à lire, écrire ou interpréter du JSON, souvent en lien avec des API ou des fichiers de données.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
JSON NSIformat JSONdonnées structuréesPython JSONbac NSI
Pixel