JSON.stringify()

JSON:s vanliga användning är att utbyta data med en webbserver.

När du skickar data till en webbserver måste data vara en sträng.

Genom JSON.stringify() Konvertera JavaScript-objekt till en sträng.

Stringifiera JavaScript-objekt

Tänk dig att vi har denna objekt i JavaScript:

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

Använd JavaScript-funktionen JSON.stringify() Konvertera det till en sträng.

var myJSON = JSON.stringify(obj);

Resultatet kommer att vara en sträng som följer JSON-märkningsreglerna.

myJSON är för närvarande en sträng och är redo att skickas till servern:

Exempel

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

Prova det själv

Du kommer att lära dig i nästa kapitel hur du skickar JSON till servern.

Stringifiera JavaScript-arrayer

Man kan också stringifiera JavaScript-arrayer:

Tänk dig att vi har denna array i JavaScript:

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

Använd JavaScript-funktionen JSON.stringify() Konvertera det till en sträng.

var myJSON = JSON.stringify(arr);

Resultatet kommer att vara en sträng som följer JSON-märkningsreglerna.

myJSON är för närvarande en sträng och är redo att skickas till servern:

Exempel

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

Prova det själv

Du kommer att lära dig i nästa kapitel hur du skickar JSON till servern.

Undantag

Datumstringifiering

I JSON är det inte tillåtet att använda datumobjekt.JSON.stringify() Funktionen kommer att konvertera vilket datum som helst till en sträng.

Exempel

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

Prova det själv

Du kan konvertera strängen till ett datumobjekt på mottagarsidan.

Funktionsserialisering

Funktioner är inte tillåtna som objektvärden i JSON.

JSON.stringify() Funktionen kommer att ta bort alla funktioner från JavaScript-objektet, inklusive nycklar och värden:

Exempel

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

Prova det själv

Om du kör JSON.stringify() Funktionen har redan konverterats till sträng innan den används, denna steg kan hoppas över.

Exempel

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;

Prova det själv

Du bör undvika att använda funktioner i JSON, eftersom funktionerna förlorar sitt omgivande och du behöver använda eval() Konvertera dem tillbaka till funktioner.

Webbläsarstöd

Alla ledande webbläsare och den senaste ECMAScript (JavaScript)-standarden inkluderar JSON.stringify() Funktion:

Numrerna i tabellen specificerar fullständig stöd JSON.stringify() Första webbläsarversionen av funktionen:

Ja 8.0 3.5 4.0 10.0