Ceci est une ancienne révision du document !
JSON ou "JavaScript Object Notation"
JSON désigne un format de données permettant de stocker de l'information de manière organisée. Il a l'avantage d'être facilement lisible par un être humain, et permet un accès rapide aux données qu'il contient.
Il est souvent utilisé pour décrire des structures de type objet.
C'est un standard qui a été spécifié par Douglas Crockford.
Origines de la syntaxe de JSON
Son acronyme signifiant “JavaScript Object Notation” indique clairement d'où sa syntaxe provient : le langage JavaScript. En effet la syntaxe de JSON reprend la syntaxe de création d'objets en JavaScript.
Attention:JSON est Indépendant de tout langage
Bien que JSON puise sa syntaxe du JavaScript, il est indépendant de tout langage de programmation. Il peut ainsi être interprété par tout langage à l'aide d'un parseur.
Extension
Un fichier au format JSON a pour extension “.json”.
Syntaxe
Un fichier JSON simple
{ "nom" : "Norris", "prenom" : "Chuck", "age" : "73", "etat" : "Oklahoma" }
Règles syntaxiques
- Il ne doit exister qu'un seul élément père par document contenant tous les autres : un élément racine.
- Tout fichier JSON bien formé doit être soit un objet (commençant par “{” et se terminant par “}” ), soit un tableau (commençant par “[” et terminant par “]” ). Cependant ils peuvent être vides, ainsi “[]” et “{}” sont des JSON valides.
- Les séparateurs utilisés entre deux paires/valeurs sont des virgules.
- Un objet JSON peut contenir d'autres objets JSON.
- Il ne peut y avoir d'éléments croisés.
Éléments du format JSON
Il existe deux types d'éléments :
- Des couples de type “nom”: valeur, comme l'on peut en trouver dans les tableaux associatifs.
- Des listes de valeurs, comme les tableaux utilisés en programmation.
Valeurs possibles
- Primitifs : nombre, booléen, chaîne de caractères, null.
- Tableaux : Liste de valeurs (tableaux et objets aussi autorisés) entrées entre crochets, séparées par des virgules.
- Objets : Listes de couples “nom”: valeur (tableaux et objets aussi autorisés) entrés entre accolades, séparés par des virgules.
Exemple:Une structure JSON plus complexe
{ "nom cours" : "NF29", "theme" : "ingenierie documentaire", "etudiants" : [ { "nom" : "Norris", "prenom" : "Chuck", "age" : "73", "pays" : "USA" }, { "nom" : "Doe", "prenom" : "Jane", "age" : "45", "pays" : "Angleterre" }, { "nom" : "Ourson", "prenom" : "Winnie", "age" : "10", "pays" : "France" } ] }