JSON.stringify()
JSON часто используется для обмена данными с сервером.
При отправке данных на сервер это, как правило, строка.
Мы можем использовать метод JSON.stringify() для преобразования объекта JavaScript в строку.
Синтаксис
JSON.stringify(value[, replacer[, space]])
Описание параметра:
- value:
Обязательный. Значение JavaScript для преобразования (обычно объект или массив).
- replacer:
Необязательный. Функция или массив, используемые для преобразования результата.
Если replacer является функцией, JSON.stringify вызовет эту функцию, передавая ключ и значение каждого элемента. Возвращаемое значение используется вместо исходного значения. Если эта функция возвращает undefined, элемент исключается. Ключом для корневого объекта является пустая строка: "".
Если replacer является массивом, преобразуются только элементы, ключи которых присутствуют в массиве. Порядок преобразования элементов совпадает с порядком ключей в массиве. Если параметр value также является массивом, массив replacer игнорируется.
- space:
Необязательный. Добавляет отступы, пробелы и разрывы строк в текст. Если space — число, текст возвращаемого значения имеет отступ в указанное число пробелов на каждом уровне. Если space больше 10, текст имеет отступ в 10 пробелов. space также может быть не числом, например \t.
Преобразование объекта JavaScript
Например, мы отправляем следующие данные на сервер:
Мы используем метод JSON.stringify() для обработки приведённых выше данных и преобразования их в строку:
myJSON — это строка.
Мы можем отправить myJSON на сервер:
Пример
Попробуйте сами »
Преобразование массива JavaScript
Мы также можем преобразовать массив JavaScript в строку JSON:
Пример
myJSON — это строка.
Мы можем отправить myJSON на сервер:
Пример
Попробуйте сами »
Исключения
Разбор данных
JSON не может хранить объекты Date.
JSON.stringify() преобразует все даты в строки.
Пример
Попробуйте сами »
После этого вы можете преобразовать строку обратно в объект Date.
Функции парсинга
JSON не допускает функции. JSON.stringify() удалит функции из объектов JavaScript, включая ключ и значение.
Пример
Попробуйте сами »
Мы можем избежать вышеуказанной проблемы, преобразовав функцию в строку перед выполнением функции JSON.stringify():
Пример
Попробуйте сами »
Не рекомендуется использовать функции в JSON.
Поддержка браузеров
Все основные браузеры поддерживают функцию JSON.stringify():
- Firefox 3.5
- Internet Explorer 8
- Chrome
- Opera 10
- Safari 4