JSON.stringify()

L'uso comune di JSON è lo scambio di dati con un server web.

Quando si inviano dati a un server web, i dati devono essere una stringa.

Tramite JSON.stringify() Converti l'oggetto JavaScript in stringa.

Stringificazione oggetto JavaScript

Immagina che abbiamo questo oggetto in JavaScript:

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

Utilizza la funzione JavaScript JSON.stringify() Convertitelo in stringa.

var myJSON = JSON.stringify(obj);

Il risultato sarà una stringa che segue le regole del formato JSON.

myJSON è attualmente una stringa e pronta per essere inviata al server:

Esempio

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

Prova tu stesso

Imparerai nel prossimo capitolo come inviare JSON al server.

Stringify array JavaScript

È anche possibile stringificare un array JavaScript:

Immagina che abbiamo questo array in JavaScript:

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

Utilizza la funzione JavaScript JSON.stringify() Convertitelo in stringa.

var myJSON = JSON.stringify(arr);

Il risultato sarà una stringa che segue le regole del formato JSON.

myJSON è attualmente una stringa e pronta per essere inviata al server:

Esempio

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

Prova tu stesso

Imparerai nel prossimo capitolo come inviare JSON al server.

Eccezione

Stringificazione delle date

In JSON, non è permesso l'oggetto di data.JSON.stringify() La funzione convertirà qualsiasi data in stringa.

Esempio

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

Prova tu stesso

Puoi convertire la stringa in un oggetto di data nel ricevente.

Stringificazione delle funzioni

Non è permesso usare funzioni come valori di oggetto in JSON.

JSON.stringify() La funzione rimuoverà qualsiasi funzione dal JavaScript oggetto, inclusi chiavi e valori:

Esempio

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

Prova tu stesso

Se esegui JSON.stringify() La funzione è stata convertita in stringa prima del suo utilizzo, questa fase può essere omessa.

Esempio

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 tu stesso

Dovresti evitare di usare funzioni in JSON, le funzioni perderanno il loro contesto e avrai bisogno di usare eval() Riportarli come funzioni.

Supporto del browser

Tutti i browser mainstream e la più recente standard ECMAScript (JavaScript) includono JSON.stringify() Funzione:

I numeri nella tabella sottostante indicano il supporto completo JSON.stringify() Versione del browser primaria della funzione:

8.0 3.5 4.0 10.0