Преобразование из формата JSON

преобразование из формата JSON

Преобразование из формата JSON.

Едва ли не чаще всего вычисление кода во время выполнения употребляется для преобразования символьных строк формата JSON в их объектные представления на JavaScript. Данные в формате JSON представлены в виде подмножества языка JavaScript, и поэтому они вполне поддаются вычислению как код JavaScript.

В большинстве современных браузеров поддерживается собственный объект формата JSON с помощью методов parse () Hstringify (), HOB целом ряде действующих браузеров этот объект по-прежнему не предоставляется. В отношении таких браузеров следует знать, как обращаться с форматом JSON без объекта window. JSON. Но как часто бывает, даже в самые совершенные планы вкрадывается какая-нибудь одна мелкая неувязка, которую следует все же принимать во внимание. В частности, текст, представляющий языковые конструкции, следует заключать в круглые скобки, чтобы правильно вычислить код. Впрочем, сделать это совсем не трудно, как показано в примере кода из листинга. Нужно лишь не забывать об этом.Преобразование из формата JSON

Больше примеров по работе с JavaScript вы можете найти на сайте http://lsreg.ru. Но вернемся к описанному выше примеру: как видите, такое преобразование осуществляется довольно просто, причем в большинстве механизмов JavaScript. Но пользоваться методом eval () для синтаксического анализа строк формата JSON следует с одной оговоркой. Чаще всего данные формата JSON поступают с удаленного сервера, а слепо выполнять код, поступающий с удаленного сервера, неосмотрительно, как пояснялось выше. К числу самых распространенных относится сценарий преобразования из фор-MaTaiSON, написанный Дугласом Крокфордом (Douglas Crockford), разработавшим спецификацию разметки документов в формате JSON. В этом сценарии выполняется первоначальный синтаксический анализ строки формата JSON, чтобы попытаться воспрепятствовать проникновению любой вредоносной информации. Полный код этого сценария можно найти по следующему адресу: https://github.com/douglascrockford/JSON-js.

Этот сценарий выполняет следующие важные операции предварительной подготовки непосредственно к вычислению кода. — Защищает от некоторых символов уникода, способных вызвать осложнения в некоторых браузерах.
— Защищает от шаблонов, не относящихся к формату JSON, но имеющих злонамеренные цели, включая оператор присваивания и оператор new.
— Проверяет наличие только символов, допустимых в формате JSON.

Если данные в формате JSON поступают для вычисления кода из собственных или других надежных источников (прикладного кода или серверов), то и беспокоиться о внесении злонамеренного кода особенно не стоит, хотя неплохо бы и перестраховать­ся на всякий случай. Но если нет никаких оснований доверять данным формата JSON, предназначенным для вычисления кода, то благоразумнее всего принять такие меры защиты, как в упомянутом выше сценарии, написанном Дугласом Крокфордом. Тема обращения с ненадежным кодом подробно исследуется в следующих книгах, вышедших в издательстве Manning Publications.

— Single Page Web Applications (Одностраничные веб-приложения) Майкла С. Миковского (Michael S. Mikowski) и Джоша К. Пауэлла (Josh С. Powell) (http://www.manning.com/mikowski/).

— Third-Party JavaScript (Сторонние сценарии на JavaScript) Бена Винегара (Ben Vinegar) и Антона Ковалева (http:/ /manning.com/vinegar/).

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

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