JSON .stringify()
Un uso comune di JSON è lo scambio di dati da/verso un server web.
Quando si inviano dati a un server Web, i dati devono essere una stringa.
Converti un oggetto JavaScript in una stringa con JSON.stringify()
.
Stringi un oggetto JavaScript
Immagina di avere questo oggetto in JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
Usa la funzione JavaScript JSON.stringify()
per convertirlo in una stringa.
const myJSON = JSON.stringify(obj);
Il risultato sarà una stringa che segue la notazione JSON.
myJSON
è ora una stringa e pronta per essere inviata a un server:
Esempio
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
Imparerai come inviare JSON a un server nei prossimi capitoli.
Stringi un array JavaScript
È anche possibile stringere array JavaScript:
Immagina di avere questo array in JavaScript:
const arr = ["John", "Peter", "Sally", "Jane"];
Usa la funzione JavaScript JSON.stringify()
per convertirlo in una stringa.
const myJSON = JSON.stringify(arr);
Il risultato sarà una stringa che segue la notazione JSON.
myJSON
è ora una stringa e pronta per essere inviata a un server:
Esempio
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
Imparerai come inviare una stringa JSON a un server nei prossimi capitoli.
Memorizzazione dei dati
Quando si archiviano i dati, i dati devono essere in un determinato formato e, indipendentemente da dove si sceglie di archiviarli, il testo è sempre uno dei formati legali.
JSON consente di memorizzare oggetti JavaScript come testo.
Esempio
Memorizzazione dei dati nella memoria locale
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Eccezioni
Stringi le date
In JSON, gli oggetti data non sono consentiti. La JSON.stringify()
funzione convertirà tutte le date in stringhe.
Esempio
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
È possibile riconvertire la stringa in un oggetto data nel ricevitore.
Funzioni di stringa
In JSON, le funzioni non sono consentite come valori oggetto.
La JSON.stringify()
funzione rimuoverà tutte le funzioni da un oggetto JavaScript, sia la chiave che il valore:
Esempio
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Questo può essere omesso se si convertono le funzioni in stringhe prima di eseguire la JSON.stringify()
funzione.
Esempio
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Se invii funzioni utilizzando JSON, le funzioni perderanno il loro ambito e il destinatario dovrebbe utilizzare eval() per riconvertirle in funzioni.