JSON.stringify()

L'utilisation courante de JSON est l'échange de données avec un serveur web.

Lorsque vous envoyez des données à un serveur web, les données doivent être sous forme de chaîne.

Par JSON.stringify() Convertir un objet JavaScript en chaîne.

Stringifier un objet JavaScript

Imaginez que nous avons cet objet en JavaScript :

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

Utilisez la fonction JavaScript JSON.stringify() Le convertir en chaîne.

var myJSON = JSON.stringify(obj);

Le résultat sera une chaîne conforme aux règles de marquage JSON.

myJSON est actuellement une chaîne et est prête à être envoyée au serveur :

Exemple

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Essayez-le vous-même

Vous apprendrez dans le prochain chapitre comment envoyer JSON au serveur.

Stringifier un tableau JavaScript

Vous pouvez également stringifier un tableau JavaScript :

Imaginez que nous avons ce tableau en JavaScript :

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

Utilisez la fonction JavaScript JSON.stringify() Le convertir en chaîne.

var myJSON = JSON.stringify(arr);

Le résultat sera une chaîne conforme aux règles de marquage JSON.

myJSON est actuellement une chaîne et est prête à être envoyée au serveur :

Exemple

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

Essayez-le vous-même

Vous apprendrez dans le prochain chapitre comment envoyer JSON au serveur.

Exception

Stringification de la date

Dans JSON, les objets date ne sont pas autorisés.JSON.stringify() La fonction convertira toute date en chaîne.

Exemple

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Essayez-le vous-même

Vous pouvez convertir la chaîne en objet date à l'extrémité de réception.

Stringification des fonctions

Dans JSON, les fonctions ne sont pas autorisées en tant que valeurs d'objet.

JSON.stringify() La fonction supprimera toutes les fonctions du JavaScript objet, y compris les clés et les valeurs :

Exemple

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Essayez-le vous-même

Si vous exécutez JSON.stringify() La fonction a été convertie en chaîne avant la fonction, cette étape peut être omise.

Exemple

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Essayez-le vous-même

Vous devriez éviter d'utiliser des fonctions dans JSON, car les fonctions perdront leur portée et vous devrez utiliser eval() Retournez-les en fonction.

Support du navigateur

Tous les navigateurs populaires et les derniers standards ECMAScript (JavaScript) incluent JSON.stringify() Fonction :

Les nombres dans le tableau suivant indiquent le support complet JSON.stringify() Première version du navigateur pour la fonction :

Oui 8.0 3.5 4.0 10.0