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