JSON
Материал из Википедии — свободной энциклопедии
JSON (англ. JavaScript Object Notation) — это легкий формат обмена данными. Отличительной чертой является то, что он легкочитаем для человека. Этот формат легко обрабатывается и генерируется программами. Он основан на языке JavaScript, Standard ECMA-262 3rd Edition — December 1999.
JSON — это текстовый формат, не зависящий от языка программирования. JSON использует соглашения близкие к Си-подобным языкам, включая C, C++, C#, Delphi/Object pascal, Java, JavaScript, Perl, Python, и много других. Все это делает 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"
]
}
[править] См. также
[править] Ссылки
- json.org
- json-rpc.org
- JSON delphi library a delphi library implementing JSON data format and objects structure. Lightweight and fast.