Формат JSON
Формат JSON – текстовый формат представления данных, основанный на подмножестве синтаксиса JavaScript, а именно на литералах массивов и объектов (массивов и объектов в литеральной нотации)
Массивы как литералы
Пример массива-нелитерала (созданного с помощью конструктора)arr = new Array ('AJAX', 'XML', 'JSON')
Пример массива-литералаlit_arr = ["строка", 1, true, null]
Массив, описываемый как литерал, определяется с помощью квадратных скобок, внутри которых находится список значений элементов массива, разделенных запятыми (строки в кавычках, числа, логические величины или значение null)
В сценариях JavaScript допустимы оба способа определения массива, но при работе с форматом JSON можно использовать только массивы, определенные как литералы
Объекты как литералы
Пример объекта-нелитерала (созданного с помощью конструктора) ball = new Object()ball.shape = "шар"ball.colour = "красный"ball.diam = 30
Пример объекта-литералаlit_ball = {"shape" : "шар", "colour" : "красный", "diam" : 30}
Объект, описываемый как литерал, определяется с помощью фигурных скобок, внутри которых находится произвольное количество пар имя:значение, разделенных запятыми (строки в кавычках, числа, логические величины или значение null)
В сценариях JavaScript допустимы оба способа определения массива, но при работе с форматом JSON можно использовать только объекты, определенные как литералы
Смешанные литералы
Описания массивов и объектов в записи литералов можно смешивать
Массив объектовcars = [{"model" : "Suzuki", "power" ; 100},{"model" : "Toyota", "power" ; 90},{"model" : "Honda", "power" ; 150}]
Объект массивовinfo_cars = {"availmodels" : ["Suzuki", "Toyota", "Honda"],"availpowers" : [100, 90, 150]}
Синтаксис JSON
Синтаксис JSON – смесь объектов и массивов в литеральном представлении, предназначенных для хранения данных
Ограничения JSON
не может быть переменных, так как формат служит исключительно для представления данных
{"availmodels" : ["Suzuki", "Toyota", "Honda"],"availpowers" : [100, 90, 150]}
Преобразования значений JavaScript в/из формата JSON
Встроенный объект JSON, предоставляющий методы конвертации объектов JScript в/из формата JSON
Поддерживается во всех браузерах, включая IE8+, для более старых браузеров рекомендуется библиотека json.js, добавляющая аналогичную функциональность
Методы объекта
stringify(value, replacer, space)преобразует («сериализует») значение в JSON-строку
value – объект JavaScript для преобразования
replacer – массив свойств, подлежих сериализации
space – число, уровни вложенности в JSON-строке оформляются указанным количеством пробелов, строка – вставляется эта строка
parse(str, reviver)читает JavaScript-значение из строки
str – JSON-строка
reviver – параметр, который является функцией function (key, value), принимающей по очереди все создаваемые пары ключ-значение, которая может возвратить преобразованное значение value, либо undefined, если его нужно игнорировать
© ООО «Знанио»
С вами с 2009 года.