Format Json

SNT - Seconde

Format JSON

Ce qu'il faut comprendre

Quand tu travailles avec des données (par exemple une liste de notes, des coordonnées GPS, des produits d'un site web), il faut les organiser pour que l'ordinateur puisse les lire et les traiter facilement. Le format JSON (JavaScript Object Notation) est une façon d'écrire ces données sous forme de texte structuré. Il est très utilisé sur le web pour échanger des informations entre un serveur et un navigateur. Tu vas apprendre à lire et écrire du JSON, et le comparer à d'autres formats comme le CSV.

Les notions essentielles

Donnée et métadonnée

  • Donnée : une information brute (exemple : "15", "Paris", "3.14").
  • Métadonnée : une donnée qui décrit une autre donnée (exemple : "unité : degré Celsius" pour une température).

Table

  • Une table est un ensemble de données organisées en lignes et colonnes. Chaque ligne représente un enregistrement, chaque colonne un champ.

Format CSV

  • CSV (Comma-Separated Values) : un format de fichier texte où chaque ligne est une ligne du tableau, et les colonnes sont séparées par des virgules (ou points-virgules). Exemple :
    nom,age,ville
    Alice,15,Paris
    Bob,16,Lyon
    

Format JSON

  • JSON : un format texte structuré avec des accolades {} pour les objets et des crochets [] pour les listes. Chaque donnée est une paire "clé" : "valeur". Exemple :
    [
      {"nom": "Alice", "age": 15, "ville": "Paris"},
      {"nom": "Bob", "age": 16, "ville": "Lyon"}
    ]
    
  • Les clés sont toujours entre guillemets doubles.
  • Les valeurs peuvent être : chaîne (entre guillemets), nombre, booléen (true/false), null, objet, ou tableau.

Tri et filtre

  • Trier : ordonner les données selon un critère (ex : par âge croissant).
  • Filtrer : ne garder que les données qui vérifient une condition (ex : âge >= 16).

Open data

  • Open data (données ouvertes) : des données publiques, librement accessibles et réutilisables, souvent fournies en CSV ou JSON.

Méthode

Lire un fichier JSON

  1. Repère les crochets [] : ils indiquent une liste d'objets.
  2. Chaque objet est entre accolades {}.
  3. Lis chaque paire clé-valeur : la clé est à gauche, la valeur à droite.
  4. Pour extraire une information, cherche la clé correspondante.

Écrire du JSON à partir d'une table

  1. Pour chaque ligne du tableau, crée un objet avec des paires clé-valeur (les clés sont les noms de colonnes).
  2. Place tous les objets dans une liste (entre crochets).
  3. Sépare les objets par des virgules.

Convertir CSV en JSON (manuellement)

  1. La première ligne du CSV donne les clés.
  2. Pour chaque ligne suivante, associe chaque valeur à la clé correspondante.
  3. Écris le résultat en JSON.

Trier et filtrer (avec un tableur ou un outil en ligne)

  • Pour trier : utilise la fonction "Trier" du tableur (ex : Trier par âge).
  • Pour filtrer : utilise la fonction "Filtrer" (ex : ne montrer que les lignes où ville = "Paris").

Exemple corrigé

Énoncé : Voici un extrait de données open data sur les stations de vélo en ville, au format CSV :

id,nom,capacite,ville
1,Gare,20,Paris
2,Centre,15,Lyon
3,Plage,10,Marseille
  1. Écris ces données en JSON.
  2. Filtre pour ne garder que les stations de Paris.
  3. Trie le résultat par capacité croissante.

Correction :

  1. En JSON :
[
  {"id": 1, "nom": "Gare", "capacite": 20, "ville": "Paris"},
  {"id": 2, "nom": "Centre", "capacite": 15, "ville": "Lyon"},
  {"id": 3, "nom": "Plage", "capacite": 10, "ville": "Marseille"}
]
  1. Filtre : on garde seulement les objets où "ville" vaut "Paris". Résultat :
[
  {"id": 1, "nom": "Gare", "capacite": 20, "ville": "Paris"}
]
  1. Tri par capacité croissante : il n'y a qu'une station, donc le résultat est le même.

Explication :

  • Chaque ligne du CSV devient un objet JSON.
  • Les clés sont les en-têtes (id, nom, capacite, ville).
  • Le filtre consiste à ne conserver que les objets répondant à la condition.
  • Le tri se fait sur la valeur de la clé "capacite".

Erreurs fréquentes

  • Oublier les guillemets autour des clés : en JSON, les clés doivent toujours être entre guillemets doubles. Exemple : {nom: "Alice"} est faux, il faut {"nom": "Alice"}.
  • Confondre JSON et CSV : CSV est plat (tableau), JSON peut avoir des structures imbriquées (objets dans des objets).
  • Mettre une virgule après le dernier élément : dans une liste JSON, il ne faut pas de virgule après le dernier objet. Exemple : [{"a":1},] est faux.
  • Croire que JSON est un langage de programmation : non, c'est juste un format de données.

À retenir

  • JSON est un format texte structuré pour représenter des données.
  • Il utilise {} pour les objets et [] pour les listes.
  • Les clés sont des chaînes entre guillemets, les valeurs peuvent être de différents types.
  • CSV est un autre format, plus simple, mais moins flexible.
  • On peut trier et filtrer des données JSON avec des outils adaptés.
  • L'open data fournit souvent des fichiers en CSV ou JSON.

Pour s'entraîner

Maintenant que tu as compris les bases du JSON, tu peux t'entraîner avec les exercices et quiz disponibles sur AlloSeconde. Tu y trouveras des fichiers à convertir, des questions sur la structure JSON, et des mini-projets pour manipuler des données ouvertes.

Cours conforme au programme officiel de Seconde • 890 mots