JSON (JavaScript Object Notation) est un format de données indépendant du langage de programmation. Comme il est léger et structuré, il est avantageux de l'utiliser pour transférer des données, par exemple dans un service Web ou lors d'une requête AJAX.
Le format XML pourrait également être utilisé mais comme il est plus verbeux, on lui préférera JSON.
Lorsque les données utilisent la notation JSON, elles ressemblent à ceci :
{ 'produit_id' : '1', 'produit_code' : 'OV.100', 'produit_nom' : 'Lumière d'ambiance Mia Serata' }
JSON permet également de représenter des données plus complexes :
{
'id' : '1',
'annee' : '2008',
'commentaire' : 'ok',
'modele' : {
'id' : '2',
'nom' : 'Yaris',
'fabricant' : 'Toyota'
},
'client' : {
'id' : '3',
'prenom' : 'Louis',
'nomfamille' : 'Gagnon',
'adresse' : '101, Boul. Justras',
'ville' : 'Victoriaville',
'telephone' : '819-758-8888'
}
}
La plupart des langages de programmation offrent des fonctionnalités pour faciliter l'encodage JSON.
La fonction json_encode permet d'encoder une valeur au format JSON.
$requete = "SELECT code, nom FROM produit WHERE id = ?";
$stmt = $mysqli->prepare($requete);
if ($stmt) {
$stmt->bind_param('i', $_GET['id']);
$stmt->execute();
$resultat = $stmt->get_result();
$enreg = $resultat->fetch_assoc();
echo json_encode($enreg);
$stmt->close();
}
La commande echo affichera :
{"code":"OV.100","nom":"Lumière d'ambiance Mia Serata"}
L'opération inverse, qui consiste à transformer une chaîne JSON en variable PHP, sera réalisée à l'aide de json_decode().
Le type de la variable dépendra de la structure de la variable JSON. Il peut s'agir d'un simple String, d'un tableau ou d'un objet de type StdClass.
Il est également possible d'effectuer de l'encodage JSON du côté de JavaScript. La méthode JSON.stringify() encodera une valeur au format JSON.
À l'inverse, JSON.parse() permet de manipuler une chaîne JSON.
« Présentation de JSON ». JSON. http://json.org/json-fr.html
« JavaScript Object Notation ». Wikipédia. http://fr.wikipedia.org/wiki/JavaScript_Object_Notation
« Notation Objet JavaScript ». PHP. http://php.net/manual/fr/book.json.php
« JSON.stringify, fonction (JavaScript) ». Centre de développement Internet Explorer. https://msdn.microsoft.com/fr-fr/library/ie/cc836459%28v=vs.94%29.aspx
« JSON.parse, fonction (JavaScript) ». Centre de développement Internet Explorer. https://msdn.microsoft.com/fr-fr/library/ie/cc836466(v=vs.94).aspx
« Pass a PHP Array to Javascript as JSON using AJAX and json_encode ». Darian Brown. http://www.darian-brown.com/pass-a-php-array-to-javascript-as-json-using-ajax-and-json_encode/
« AJAX table adding removing rows dynamically using Javascript animation ». Amit Patil. http://w3webtutorial.blogspot.ca/2013/11/ajax-table-adding-removing-rows.html
▼Publicité