Справочник по 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 Version 5.8

Начиная с версии 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

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="https://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования