JSON: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
Gweorth (обсуждение | вклад) отмена правки 102155470 участника 81.30.83.98 (обс.) Метка: отмена |
РоманСузи (обсуждение | вклад) стилевые правки. убрал несущественные детали и тп |
||
Строка 10:
== Использование ==
За счёт своей лаконичности по сравнению с [[XML]], формат JSON может быть более подходящим для [[Сериализация|сериализации]] сложных структур.
Поскольку формат JSON является подмножеством синтаксиса языка JavaScript, то он может быть быстро десериализован встроенной функцией <code>eval()</code>.
== Синтаксис ==
JSON-текст представляет собой (в закодированном виде) одну из двух структур:
* Набор пар ''ключ: значение''. В различных языках это реализовано как [[Запись (тип данных)|запись]], [[Структура данных|структура]], [[Ассоциативный массив|словарь]], [[хеш-таблица]], [[Список (информатика)|список]] с ключом или [[ассоциативный массив]]. Ключом может быть только строка ([[Чувствительность к регистру символов|регистрозависимая]]: имена с буквами в разных регистрах считаются разными<ref>http://jsonrpc.org/historical/json-rpc-1-1-alt.html#service-procedure-and-parameter-names</ref>), значением — любая форма.
* Упорядоченный набор ''значений''. Во многих языках это реализовано как [[Массив (программирование)|массив]], [[индексный массив|вектор]], список или [[последовательность]].
<!-- абзац не нужен -->
В качестве значений в JSON могут быть использованы:
Строка 30 ⟶ 28 :
* '''Строка''' — это упорядоченное множество из нуля или более символов [[юникод]]а, заключённое в двойные кавычки. Символы могут быть указаны с использованием [[escape-последовательность|escape-последовательностей]], начинающихся с [[Обратная косая черта|обратной косой черты]] ''«\»'' (поддерживаются варианты \', \", \\, \/, \t, \n, \r, \f и \b), или записаны шестнадцатеричным кодом в кодировке [[Unicode]] в виде \uFFFF.
''Строка'' очень похожа на
Следующий пример показывает JSON-представление данных об объекте, описывающем человека. В данных
<source lang="javascript">
Строка 50 ⟶ 48 :
</source>
Обратите внимание на пару "postalCode": "101101". В качестве значений в JSON могут быть использованы как число так и строка. Поэтому запись "postalCode": "101101" содержит строку, а "postalCode": 101101 - уже числовое значение.
На языке XML подобная структура выглядела бы примерно так:
|