JSON.stringify()

Zwykłe zastosowanie JSON to wymiana danych z serwerem web.

Podczas wysyłania danych do serwera dane muszą być ciągiem znaków.

Przez JSON.stringify() Przekształć obiekt JavaScript w ciąg znaków.

Stringifikacja obiektu JavaScript

Wyobraź sobie, że w JavaScript mamy ten obiekt:

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

Użyj funkcji JavaScript JSON.stringify() Przekształć to w ciąg znaków.

var myJSON = JSON.stringify(obj);

Wynik będzie ciągiem znaków zgodnym z formatem JSON.

myJSON jest obecnie ciągiem znaków, gotowym do wysłania na serwer:

Przykład

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

Spróbuj sam

W następnym rozdziale nauczysz się, jak wysyłać JSON do serwera.

Stringifikacja tablicy JavaScript

Można również stringifikować tablicę JavaScript:

Wyobraź sobie, że w JavaScript mamy ten ciąg:

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

Użyj funkcji JavaScript JSON.stringify() Przekształć to w ciąg znaków.

var myJSON = JSON.stringify(arr);

Wynik będzie ciągiem znaków zgodnym z formatem JSON.

myJSON jest obecnie ciągiem znaków, gotowym do wysłania na serwer:

Przykład

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

Spróbuj sam

W następnym rozdziale nauczysz się, jak wysyłać JSON do serwera.

Wyjątek

Stringifikacja daty

W JSON nie są dozwolone obiekty daty.JSON.stringify() Funkcja przekształci każdą datę w ciąg znaków.

Przykład

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

Spróbuj sam

Możesz przekształcić ciąg znaków w obiekt daty na końcu.

Stringifikacja funkcji

W JSON nie jest dozwolone użycie funkcji jako wartości obiektu.

JSON.stringify() Funkcja usunie wszystkie funkcje z obiektu JavaScript, w tym klucze i wartości:

Przykład

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

Spróbuj sam

Jeśli uruchomisz JSON.stringify() Funkcja została już wcześniej przekształcona w ciąg znaków, ten etap można pominąć.

Przykład

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;

Spróbuj sam

Powinieneś unikać użycia funkcji w JSON, funkcje stracią swoje środowisko i będziesz musiał użyć eval() Przekształć je z powrotem na funkcje.

Wsparcie przeglądarki

Wszystkie główne przeglądarki i najnowsze standardy ECMAScript (JavaScript) zawierają JSON.stringify() Funkcja:

Liczby w tabeli określają pełne wsparcie JSON.stringify() Pierwsza wersja przeglądarki funkcji:

Tak 8.0 3.5 4.0 10.0