JSON.stringify()

JSON:n yleisin käyttötarkoitus on tiedonvaihto web-palvelimien kanssa.

Lähetettäessä tietoja web-palvelimelle, tiedot on oltava merkkijonona.

Kautta JSON.stringify() Muunna JavaScript-objekti merkkijonoksi.

JavaScript-objektin muuntaminen merkkijonoksi

Kuvitellaan, että meillä on tämä objekti JavaScriptissä:

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

Käytä JavaScript-funktiota JSON.stringify() Muunna se merkkijonoksi.

var myJSON = JSON.stringify(obj);

Tulos on merkkijono, joka noudattaa JSON-määrittelyä.

myJSON on tällä hetkellä merkkijono ja se on valmis lähettämiseen palvelimelle:

Esimerkki

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

Kokeile itse

Opit seuraavassa luvussa, miten lähettää JSON palvelimelle.

JavaScript-taulukon muuntaminen merkkijonoksi

Voit myös muuntaa JavaScript-taulukon merkkijonoksi:

Kuvitellaan, että meillä on tämä taulukko JavaScriptissä:

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

Käytä JavaScript-funktiota JSON.stringify() Muunna se merkkijonoksi.

var myJSON = JSON.stringify(arr);

Tulos on merkkijono, joka noudattaa JSON-määrittelyä.

myJSON on tällä hetkellä merkkijono ja se on valmis lähettämiseen palvelimelle:

Esimerkki

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

Kokeile itse

Opit seuraavassa luvussa, miten lähettää JSON palvelimelle.

Poikkeus

Päivämäärän muuntaminen merkkijonoksi

JSON:ssa ei ole sallittu päivämäärätietueita.JSON.stringify() Funktio muuntaa minkä tahansa päivämäärän merkkijonoksi.

Esimerkki

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

Kokeile itse

Voit muuntaa merkkijonon päivämäärätietueeksi vastaanottopäässä.

Funktioiden merkkijonoksi muuntaminen

JSONissa ei ole sallittua käyttää toimintoja objektin arvona.

JSON.stringify() Funktio poistaa kaikki toiminnot JavaScript-objektista, mukaan lukien avaimet ja arvot:

Esimerkki

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

Kokeile itse

Jos suoritat JSON.stringify() Funktion muuntaminen merkkijonoksi on jo tehty ennen kuin funktio lisätään.

Esimerkki

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;

Kokeile itse

Vältä toimintojen käyttö JSONissa, koska ne menettävät kontekstin ja sinun on käytettävä eval() Konversioon takaisin funktioksi.

Selaimen tuki

Kaikki suosituimmat selaimet ja uusimmat ECMAScript (JavaScript)-standardit sisältävät JSON.stringify() Funktion:

Taulukossa olevat numerot määrittävät täysin tuetun JSON.stringify() Funktion ensimmäinen selainversio:

Kyllä 8.0 3.5 4.0 10.0