Les formats d'échange : JSON, XML, CSV, YAML

Les formats qui servent à échanger des données entre programmes : sérialisation, les six types JSON, éléments et attributs XML, CSV, YAML ; lire un message d'erreur de parseur et choisir le bon format.

  • 25 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • Sérialisation : de quoi s'agit-il ?

    Voir la réponse

    Transformation d'un objet du programme en texte ou en octets qu'on peut stocker ou envoyer à un autre programme.

    Un objet en mémoire n'a de sens que dans son programme. json.dumps({'a': 1}) produit le texte {"a": 1}, que n'importe quel langage sait relire.

  • JSON.parse s'arrête avec Expected double-quoted property name in JSON at position 25. Quelle est la correction ?

    ```json
    {"nom": "Léa", "age": 20,}
    `

    • Supprimer la virgule après 20
    • Remplacer tous les guillemets doubles par des simples
    • Mettre 20 entre guillemets
    • Ajouter null après la virgule
    Voir la réponse

    Supprimer la virgule après 20

    JSON refuse la virgule finale : après une virgule, le parseur attend une clé entre guillemets doubles, d'où le message. La position 25 est celle de l'accolade fermante.

  • JSON a six types de valeur : chaîne, nombre, booléen, …, objet et ….

    Voir la réponse

    JSON a six types de valeur : chaîne, nombre, booléen, null, objet et tableau.

    Il n'a ni type date, ni commentaire, ni undefined. Une date se transmet comme une chaîne, par convention au format ISO 8601.

  • Désérialisation : de quoi s'agit-il ?

    Voir la réponse

    Reconstruction des objets du programme à partir d'un texte ou d'octets reçus ou lus dans un fichier.

    Elle échoue si le texte est mal formé, et réussit sans rien dire sur le contenu : un champ manquant ou d'un autre type ne se découvre qu'en le vérifiant.

  • Une application écrit une date dans un message JSON ; l'autre côté reçoit un texte et ne sait pas l'interpréter. Quelle solution est la plus robuste ?

    • Passer à un type date natif de JSON
    • Écrire la date comme un nombre sans autre convention
    • Convenir d'une chaîne au format ISO 8601, comme "2026-11-06"
    • Envoyer la date en jour, mois et année dans trois champs séparés par des virgules
    Voir la réponse

    Convenir d'une chaîne au format ISO 8601, comme "2026-11-06"

    JSON n'a pas de type date : il faut une convention partagée. ISO 8601 s'écrit toujours dans le même ordre, se trie comme un texte et se lit dans tous les langages.