Comment convertir une chaîne de caractères (string) JSON en un objet JavaScript ?

Le format de données JSON est dérivé du langage de programmation de JavaScript. Ces deux éléments sont donc très liés. Il est possible de transformer un objet écrit en JSON en objet JavaScript grâce à différentes méthodes. Le JavaScript fournit nativement une méthode pour créer directement un objet JavaScript à partir de JSON. Il s'agit de la méthode JSON.Parse().

var json = '{prenom:Marc,nom:Ford}';
var personne = JSON.parse(json);
console.log(personne.prenom + + personne.nom); //Cette ligne affiche le texte Marc Ford.

La méthode eval() peut également interpréter du JSON et créer un objet JavaScript, mais il est fortement déconseillé de l'utiliser. Cette méthode interprète et exécute le code transmis en argument sans contrôle. Son usage peut être détourné pour exécuter du code malveillant. La méthode JSON.Parse() est plus sécurisée et ne peut pas exécuter du code malveillant, elle se contente d'interpréter le JSON pour créer un objet JavaScript. Cette méthode n'est pas compatible avec Internet Explorer 7. Pour ce navigateur, la bibliothèque JavaScript JQuery fournit la méthode $.parseJSON(). Cette méthode n'est disponible que dans les versions de JQuery antérieures à la version 3.

Il est également possible d'exécuter l'opération inverse : transformer un objet JavaScript en notation JSON. On utilise alors la méthode JSON.stringify().

var personne = new object();
personne.prenom = Marc;
personne.nom = Ford;
var json = JSON.stringify(personne);
console.log(json); //Cette ligne affiche le texte {prenom:Marc,nom:Ford}.

Vous pouvez également faire appel à des décodeurs/encodeurs externes pour gérer le JSON. Le site dédié au langage JSON référence des librairies externes permettant de gérer le format JSON pour la plupart des langages informatiques, dont quatre librairies pour le JavaScript.

JavaScript