Разбор JSON и сериализация в JSON в Javascript

JSON — Javascript Object Notation. В большинстве случаев JSON объекты можно разбирать через eval. Но так делать не рекомендуется из-за того, что eval выполнит любой Javascript код. В Javascript есть специальные методы для разбора JSON. Нужно использовать их.

JSON.parse(text[, reviver])

Возвращает объект, соответствующий переданной строке text. Необязательный параметр reviver — функция преобразования значений. Она имеет два параметра. Первый — имя свойства. Второй — значение. Функция reviver возвращает преобразованное значение.

 

JSON.stringify(value[, replacer[, space]])

Преобразует объект Javascript  в строку с JSON.

value — преобразуемый объект.

replacer — функция преобразования значений. Если массив, то определяет свойства, включаемые в объект в окончательной строке. Функция имеет два параметра: имя свойства, значение. Возвращает преобразованное значение либо undefined, если свойство нужно пропустить.

space — число пробелов для отступов. Либо строка, которая будет предварять каждый следующий отступ.

Также объект в Javascript может иметь свой метод toJSON. Тогда будет использоваться возвращаемое им значение в качестве результата вызова этой функции.

 

В примере выше при преобразовании в JSON поля с датой получается строка вида «2015-07-08T12:59:35.678Z». А при обратном преобразовании из JSON строки эта строка так и останется строкой. Информация о том, что она была датой, нигде не сохраняется. Если мы хотим получить в итоге именно дату, то её нужно обрабатывать отдельно.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *