Aller au contenu

Rappels sur JSON#

  • JavaScript Object Notation
  • Créé en 2005
  • Format d'échange de données structurées léger
  • Schéma des données non connu
    • contenu dans les données
  • Basé sur deux notions :
    • collection de couples clé/valeur
    • liste de valeurs ordonnées

Syntaxe et types en JSON#

  • Similaire à du JavaScript uniquement pour les données
  • On parle de littéral
  • Deux types atomiques (string et number)
  • Trois constantes (true, false, null)
  • Structures possibles :
    • objet (couples clé/valeur) :
      • {}
      • { "nom": "doe", "prenom": "jon" }
    • tableau (collection de valeurs) :
      • []
      • [ 1, 5, 10]
    • une valeur dans un objet ou dans un tableau peut être elle-même un littéral

Validation du JSON#

Validation possible du JSON à l'aide de jsonlint.com/

{
  "name": "John Doe",
  "age": 42,
  "food": ["pizza", "cake"],
  "wife": {
    "name": "Jane Doe",
    "age": 42
  }
}

Note

Il existe aussi des moyens de définir des structures de données spécifiques en JSON (notion de schéma de donneés) et de valider un document d'après ce schéma Voir https://json-schema.org/

Compléments#

BSON : extension de JSON

  • Quelques types supplémentaires (identifiant spécifique, binaire, date, ...)
  • Distinction entier et réel