02. JSON and JavaScript
JSON - это стандарт передачи данных, а не часть языка JS. JSON хоть и был списан c нотации JS объектов не является полноправной частью спецификации JS.
Синтаксис формата JSON является подмножеством синтаксиса языка JS и не может использоваться для представления всех возможных значений, допустимых в JavaScript:
Ключи в JSON являются только строки в двойных кавычках.
Ключ в JSON может быть любой валидной строкой.
Значения в JSON должны быть одним из возможных допустимых типов данных: объекты, массивы, строки, конечные числовые значения,
true,falseиnull.Значения
NaN,Infinityи-Infinityпреобразуются в значениеnull.Значением в JSON не может быть функция.
В конце JSON не нужно ставить точку с запятой.
Полученный JSON в JS необходимо разобрать и преобразовать в JS-объект при помощи каких-либо функций. Для сериализации и восстановления объектов JavaScript стандартом ES5 предоставляются встроенные функции JSON.stringify() и JSON.parse():
const o = { x: 1, y: { z: [false, null, ""] } };
const s = JSON.stringify(o); // s == "{"x":1,"y":{"z":[false,null,""]}}"
const p = JSON.parse(s); // p is deep copy of oLast updated
Was this helpful?