JSON .stringify()
'n Algemene gebruik van JSON is om data na/van 'n webbediener uit te ruil.
Wanneer data na 'n webbediener gestuur word, moet die data 'n string wees.
Omskep 'n JavaScript-objek in 'n string met JSON.stringify()
.
String 'n JavaScript-objek
Stel jou voor ons het hierdie voorwerp in JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
Gebruik die JavaScript-funksie JSON.stringify()
om dit in 'n string om te skakel.
const myJSON = JSON.stringify(obj);
Die resultaat sal 'n string wees wat die JSON-notasie volg.
myJSON
is nou 'n string, en gereed om na 'n bediener gestuur te word:
Voorbeeld
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
Jy sal in die volgende hoofstukke leer hoe om JSON na 'n bediener te stuur.
String 'n JavaScript-skikking
Dit is ook moontlik om JavaScript-skikkings te stringify:
Stel jou voor ons het hierdie skikking in JavaScript:
const arr = ["John", "Peter", "Sally", "Jane"];
Gebruik die JavaScript-funksie JSON.stringify()
om dit in 'n string om te skakel.
const myJSON = JSON.stringify(arr);
Die resultaat sal 'n string wees wat die JSON-notasie volg.
myJSON
is nou 'n string, en gereed om na 'n bediener gestuur te word:
Voorbeeld
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
Jy sal in die volgende hoofstukke leer hoe om 'n JSON-string na 'n bediener te stuur.
Berging van data
Wanneer data gestoor word, moet die data 'n sekere formaat wees, en ongeag waar jy kies om dit te stoor, is teks altyd een van die wettige formate.
JSON maak dit moontlik om JavaScript-objekte as teks te stoor.
Voorbeeld
Berging van data in plaaslike berging
// 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;
Uitsonderings
Verbind datums
In JSON word datumobjekte nie toegelaat nie. Die JSON.stringify()
funksie sal enige datums in stringe omskakel.
Voorbeeld
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Jy kan die string terug omskep in 'n datum voorwerp by die ontvanger.
Verbind funksies
In JSON word funksies nie as objekwaardes toegelaat nie.
Die JSON.stringify()
funksie sal enige funksies van 'n JavaScript-objek verwyder, beide die sleutel en die waarde:
Voorbeeld
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Dit kan weggelaat word as jy jou funksies in stringe omskakel voordat die JSON.stringify()
funksie uitgevoer word.
Voorbeeld
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
As jy funksies met behulp van JSON stuur, sal die funksies hul omvang verloor, en die ontvanger sal eval() moet gebruik om dit terug te omskep in funksies.