Использование

advertisement
JSON-Вікіпедія
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными,
основанный на JavaScript и обычно используемый именно с этим языком. Как и многие
другие текстовые форматы, JSON легко читается людьми.
Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта
ECMA-262 1999 года), формат считается языконезависимым и может использоваться
практически с любым языком программирования. Для многих языков существует готовый
код для создания и обработки данных в формате JSON.
Использование
Практическая польза использования JSON открывается при использовании технологии
AJAX. Формат JSON является более кратким и удобочитаемым по сравнению с XML,
является «родным» для Javascript (преобразуется в структуру данных встроенной
функцией eval()). Кроме того, в JSON-код возможна вставка вполне работоспособных
функций.
Синтаксис
JSON строится на двух структурах:


Набор пар имя/значение. В различных языках это реализовано как объект, запись,
структура, словарь, хэш-таблица, список с ключом или ассоциативный массив.
Пронумерованный набор значений. Во многих языках это реализовано как массив,
вектор, список или последовательность.
Это — универсальные структуры данных. Теоретически, все современные языки
программирования поддерживают их в той или другой форме. Так как JSON используется
для обмена данными между различными языками программирования, то имеет смысл
строить его на этих структурах.
В JSON используются их следующие формы:




Объект — это неупорядоченное множество пар имя/значение, заключённое в
фигурные скобки { }. Между именем и значением стоит символ «:», а пары
имя/значение разделяются запятыми.
Массив (одномерный) — это множество значений, имеющих порядковые номера
(индексы). Массив заключается в квадратные скобки [ ]. Значения отделяются
запятыми.
Значение может быть строкой в двойных кавычках, или числом, или true, или
false, или null, или объектом, или массивом. Эти структуры могут быть вложены
друг в друга.
Строка — это упорядоченное множество из нуля или более символов юникода,
заключенное в двойные кавычки, с использованием escape-последовательностей
начинающихся с обратной косой черты (backslash). Символы представляются
простой строкой.
Строка очень похожа на строку в языках С и Java. Число тоже очень похоже на С или
Java-число, за исключением того, что восьмеричные и шестнадцатеричные форматы не
используются. Пробелы могут быть вставлены между любыми двумя символами.
Следующий пример показывает JSON-представление объекта, описывающего человека. В
объекте есть строковые поля имени и фамилии, объект, описывающий адрес, и массив,
содержащий список телефонов.
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
На языке XML подобная структура выглядела бы примерно так:
<person>
<firstName>Иван</firstName>
<lastName>Иванов</lastName>
<address>
<streetAddress>Московское ш., 101, кв.101</streetAddress>
<city>Ленинград</city>
<postalCode>101101</postalCode>
</address>
<phoneNumbers>
<phoneNumber>812 123-1234</phoneNumber>
<phoneNumber>916 123-4567</phoneNumber>
</phoneNumbers>
</person>
Download