Справочник по JScript : Методы JScript : Метод JSON.parse
смотрим также
- Массивная доска отзывы паркет сити массивная доска.
Материал из Справочник Web-языков
Содержание |
Метод JSON.parse
Преобразует текст JSON, чтобы получить значение JSON.
Синтаксис
JSON.parse(text [, reviver])
Аргументы
- text
- Обязательный аргумент. Допустимый текст JSON.
- reviver
- Необязательный аргумент. Функция, которая фильтрует и трансформирует результаты. Преобразованный объект обходится рекурсивно, и функция reviver вызывается для каждого члена объекта в обратном порядке (каждый объект восстанавливается после восстановления всех его членов). С каждым членом могут происходить следующие ситуации:
- Если функция reviver вернула допустимое значение, то значение для члена объекта заменяется на него.
- Если функция reviver вернула тоже самое, что и получилось ранее, то структура не меняется.
- Если функция reviver вернула null или undefined, что член объекта удаляется.
Аргумент reviver используется для трансформирования JSON-представления ISO строки даты в UTC формат объекта Date.
Описание
Метод JSON.parse возвращает значение JScript - объект или массив.
Если введенный текст не соответствует тексту JSON, то происходят ошибки преобразования JSON. Чтобы скорректирвоать их. необходимо сделать следующее:
- Измените текст так, чтобы он соответствовал тексту JSON.
- Убедитесь, что текстовый аргумент был преобразован с использованием JSON-совместимой реализации, например, JSON.stringify.
Пример
В первом примере показано как используется метод JSON.parse, чтобы получить имя и фамилию человека из строки контактных данных:
var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}'; var contact = JSON.parse(jsontext); var fullname = contact.surname + ", " + contact.firstname; // Значение полного имени "Aaberg, Jesper"
Во втором примере показано как используется метод JSON.parse, чтобы преобразовать строку даты из формата ISO:
var jsontext = '{ "hiredate": "2008-01-01T12:00:00Z", "birthdate": "2008-12-25T12:00:00Z" }'; var dates = JSON.parse(jsontext, dateReviver); var string = dates.birthdate.toUTCString(); // Значение строки "Thu, 25 Dec 2008 12:00:00 UTC" function dateReviver(key, value) { var a; if (typeof value === 'string') { a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); if (a) { return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6])); } } return value; };
Поддержка
Начиная с версии JScript 5.8, по умолчанию, движок JScript поддерживает набор особенностей языка как это было в версии 5.7. Это сделано для улучшения совместимости. Чтобы использовать особенности версии 5.8, компьютер с интерфейсом Windows Script должен запустить IActiveScriptProperty::SetProperty.
Internet Explorer 8 выбирает и работает с особенностями языка версии 5.8, когда режим документа для него установлен в "Internet Explorer 8 Standards". В других случаях, используется версия 5.7
Смотрите также
Ссылки на источники
https://msdn.microsoft.com/en-us/library/cc836466(v=VS.85).aspx