JSON .stringify()
Een veelgebruikt gebruik van JSON is het uitwisselen van gegevens van/naar een webserver.
Wanneer gegevens naar een webserver worden verzonden, moeten de gegevens een string zijn.
Converteer een JavaScript-object naar een tekenreeks met JSON.stringify()
.
Stringify een JavaScript-object
Stel je voor dat we dit object in JavaScript hebben:
const obj = {name: "John", age: 30, city: "New York"};
Gebruik de JavaScript-functie JSON.stringify()
om het om te zetten in een string.
const myJSON = JSON.stringify(obj);
Het resultaat is een tekenreeks die de JSON-notatie volgt.
myJSON
is nu een string en klaar om naar een server te worden verzonden:
Voorbeeld
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
In de volgende hoofdstukken leert u hoe u JSON naar een server kunt sturen.
Stringify een JavaScript-array
Het is ook mogelijk om JavaScript-arrays te stringificeren:
Stel je voor dat we deze array in JavaScript hebben:
const arr = ["John", "Peter", "Sally", "Jane"];
Gebruik de JavaScript-functie JSON.stringify()
om het om te zetten in een string.
const myJSON = JSON.stringify(arr);
Het resultaat is een tekenreeks die de JSON-notatie volgt.
myJSON
is nu een string en klaar om naar een server te worden verzonden:
Voorbeeld
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
In de volgende hoofdstukken leert u hoe u een JSON-string naar een server stuurt.
Gegevens bewaren
Bij het opslaan van gegevens moeten de gegevens een bepaald formaat hebben, en ongeacht waar u ervoor kiest om het op te slaan, tekst is altijd een van de legale indelingen.
JSON maakt het mogelijk om JavaScript-objecten als tekst op te slaan.
Voorbeeld
Gegevens opslaan in lokale opslag
// 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;
Uitzonderingen
Datums samenvoegen
In JSON zijn datumobjecten niet toegestaan. De JSON.stringify()
functie converteert alle datums naar strings.
Voorbeeld
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Bij de ontvanger kunt u de string weer omzetten in een datumobject.
Stringify-functies
In JSON zijn functies niet toegestaan als objectwaarden.
De JSON.stringify()
functie verwijdert alle functies van een JavaScript-object, zowel de sleutel als de waarde:
Voorbeeld
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Dit kan worden weggelaten als u uw functies converteert naar tekenreeksen voordat u de JSON.stringify()
functie uitvoert.
Voorbeeld
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Als u functies verzendt met JSON, verliezen de functies hun bereik en moet de ontvanger eval() gebruiken om ze weer in functies om te zetten.