JSON.stringify()
Обычно JSON используется для обмена данными с веб-сервером.
При отправке данных на веб-сервер данные должны быть строкой.
Преобразовать объект JavaScript в строку с помощью JSON. stringify ().
Stringify объект JavaScript
Представьте, что у нас есть этот объект в JavaScript:
var obj = { "name":"John", "age":30, "city":"New
York"};
Используйте функцию JavaScript JSON. stringify (), чтобы преобразовать ее в строку.
var myJSON = JSON.stringify(obj);
Результатом будет строка, следующая за JSON-нотацией.
мижсон теперь является строкой и готов к отправке на сервер:
Пример
var obj = { "name":"John", "age":30, "city":"New York"};
var myJSON =
JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
Вы узнаете, как отправить JSON на сервер в следующей главе.
Stringify массив JavaScript
Также можно stringify JavaScript-массивы:
Представьте, что у нас есть этот массив в JavaScript:
var arr = [ "John", "Peter", "Sally", "Jane" ];
Используйте функцию JavaScript JSON. stringify (), чтобы преобразовать ее в строку.
var myJSON = JSON.stringify(arr);
Результатом будет строка, следующая за JSON-нотацией.
мижсон теперь является строкой и готов к отправке на сервер:
Пример
var arr = [ "John", "Peter", "Sally", "Jane" ];
var myJSON =
JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;
Вы узнаете, как отправить JSON на сервер в следующей главе.
Исключения
Stringify даты
В JSON объекты Date не допускаются. Функция JSON. stringify () преобразует любые даты в строки.
Пример
var obj =
{ "name":"John", "today":new Date(), "city":"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
Можно преобразовать строку обратно в объект Date в приемнике.
Stringify функции
В JSON функции не допускаются как значения объектов.
Функция JSON. stringify () удалит все функции объекта JavaScript, как ключа, так и значения:
Пример
var obj =
{ "name":"John", "age":function () {return 30;}, "city":"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
Это можно пропустить, если преобразовать функции в строки перед запуском функции JSON. stringify ().
Пример
var obj =
{ "name":"John", "age":function () {return 30;}, "city":"New York"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
Следует избегать использования функций в JSON, функции теряют область видимости, и вам придется использовать eval (), чтобы преобразовать их обратно в функции.
Поддержка браузера
Функция JSON. stringify () включена во все основные браузеры и в последний стандарт ECMAScript (JavaScript):
Поддержка веб-браузеров |
---|
|