JSON

Чтение JSON

Получить объект JavaScript из JSON можно через метод JSON.parse().

JSON.parse('{"a":1, "b":2}'); // Object {a: 1, b: 2}

В JSON.parse() можно использовать второй параметр, который проверяет каждое значение объекта.

JSON.parse(data, function(key, value) {
    if (key == 'date') {return new Date(value);}
    return value;
});

В коде выше, все свойства «date» будут преобразованы в тип Date().

Преобразование в JSON

Конвертировать объект в JSON можно через метод JSON.stringify().

var jsObject = {a:1, b:2};

JSON.stringify(jsObject); // {"a":1,"b":2}

Также можно указать параметры, которые надо передавать в JSON.

var jsObject = {a:1, b:2, c:3};

JSON.stringify(jsObject);             // {"a":1,"b":2,"c":3}
JSON.stringify(jsObject, ["a", "b"]); // {"a":1,"b":2}
JSON.stringify(jsObject, ["c"]);      // {"c":3}

Каждый объект в JavaScript имеет метод toJSON(). Именно данный метод используется для каждого элемента во время выполнения JSON.stringify().

var date = new Date();

date.toJSON(); // 2017-02-25T12:28:31.372Z
JSON.stringify({"date": date}); // {"date":"2017-02-25T12:28:31.372Z"}

Как видно в коде выше, переменная date сохранилась в JSON в том же формате, что и через метод toJSON().