Archives de Tag: JSON

JSON

Le JSON (JavaScript Object Notation). Vous en avez peut-être entendu parlé sans plus.
C’est un peu l’évolution du XML, en moins verbeux, avec les commentaires et toujours aussi simple. Mais surtout pour améliorer l’utilisation.

Exemple :

{
     "firstName": "John",
     "lastName" : "Smith",
     "age"      : 25,
     "other"      : null,
     "male"      : true,
     "address"  :
     {
         "streetAddress": "21 2nd Street",
         "city"         : "New York",
         "state"        : "NY",
         "postalCode"   : "10021"
     },
     "phoneNumber":
     [
         {
           "type"  : "home",
           "number": "212 555-1234"
         },
         {
           "type"  : "fax",
           "number": "646 555-4567"
         }
     ]
 }

Equivalent XML :

<?xml version="1.0" encoding="UTF-8" ?>
	<firstName>John</firstName>
	<lastName>Smith</lastName>
	<age>25</age>
	<other />
	<male>true</male>
	<address>
		<streetAddress>21 2nd Street</streetAddress>
		<city>New York</city>
		<state>NY</state>
		<postalCode>10021</postalCode>
	</address>
	<phoneNumber>
		<type>home</type>
		<number>212 555-1234</number>
	</phoneNumber>
	<phoneNumber>
		<type>fax</type>
		<number>646 555-4567</number>
	</phoneNumber>

Comment on construit un JSON ?? Simplement avec : 2 éléments structure : clé / valeur et les tableaux.

« phoneNumber » est la clé et sa valeur est un tableau (via les crochets [])

Chaque items du tableau se situe dans des accolades { } et les différentes clé / valeur sont séparé par des virgules

Et le système est repris. Ainsi pour la clé « firstname » la valeur est « John ». Aussi simplement que ça.

Mais qu’elle sont les valeurs que l’on peut mettre?? Uniquement du texte ? Non évidemment, des nombre, des booléens ou même null.En revanche, on enlève les guillemets.

Utilisation :
Si on déclare : var jsonObject = { … le JSON … }

On peut l’utiliser ainsi :

jsonObject.phoneNumber[0].type
//retourne "home" 

Et en passant voici un petit lien pour Convertir du XML et JSON et inversement.
http://jsontoxml.utilities-online.info/