Comprendre JSON
Développement Web - Javascript
Vendredi, 08 Octobre 2010 01:16

Après avoir essayé d'utiliser quelques API (celles de Twitter, Flickr, Delicious...), j'ai remarqué que JSON était de plus en plus présent. Même si ce format de données ne remplace pas XML, il est important de savoir l'utiliser pour ensuite, choisir le format approprié selon nos besoins.

Qu'est-ce que JSON ?

JSON (Javascript Object Notation) est un format léger d'échange de données. Il est indépendant de tout langage. JSON est reconnu nativement par Javascript. C'est une alternative à XML.

Les principaux avantages de JSON sont qu'il est peu verbeux et facile à apprendre.

Les structures de données JSON

Une chaîne ou un document JSON représente un objet Javascript.

Un objet est un ensemble de couples nom/valeur. Les objets sont déclarés entre accolades et les couples nom/valeur sont séparés par une virgule. Voici un exemple d'objet:

{ "nom": "McLaughlin", "prenom":"Brett", "email":"brett@email.com" }

Un tableau est un ensemble de valeurs ordonnées. Les valeurs des tableaux sont entre crochets et séparés par une virgule. Voici un exemple d'objet qui a pour valeur un tableau d'objets.

{ "personne": [
    { "nom": "McLaughlin", "prenom":"Brett", "email":"brett@email.com" },
    { "nom": "Hunter", "prenom":"Jason", "email": "jason@servlets.com" },
    { "nom": "Harold", "prenom":"Elliot", "email": "elharo@macfaq.com" }
]}

Les valeurs peuvent être des objets, des tableaux, des chaînes de caractères ou des nombres.

Accéder aux données

var personne =
  '{ "programmeurs": [
      { "nom": "McLaughlin", "prenom": "Brett", "email": "brett@email.com" },
      { "nom": "Hunter", "prenom": "Jason", "email": "jason@servlets.com" },
      { "nom": "Harold", "prenom": "Elliot", "email": "elharo@macfaq.com" }
   ],
  "auteurs": [
      { "nom": "Asimov", "prenom": "Isaac", "genre": "science fiction" },
      { "nom": "Williams", "prenom": "Tad", "genre": "horreur" },
      { "nom": "Peretti", "prenom": "Frank", "genre": "policier" }
    ],
  "musiciens": [
      { "nom": "Clapton", "prenom": "Eric", "instrument": "guitare" },
      { "nom": "Rachmaninoff", "prenom": "Laurent", "instrument": "piano" }
   ]
  }';

personne.programmeurs[1].nom     // Hunter
personne.auteurs[2].genre     // policier

Avant d'accéder aux données, il faut d'abord parser le format JSON. Cela se fait avec la fonction JSON.parse().

var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';
var myJsonObj = JSON.parse(myJson);
document.write(myJsonObj.y[1]);

 

 

Mise à jour le Vendredi, 08 Octobre 2010 03:05
 

ismael.toe[at]gmail[dot]com

Page Facebook Google+