Sign in Join
Wiki copytemporary

JSON/ru

한국어 · English · Polski · Suomi · Русский · 中文(中国) · 日本語

Обзор

JSON(JavaScript Object Notation) является формой представления данных, которая обеспечивает стандартизированный формат обмена данными, используя простой текст. Как следует из названия, форма представления основана на подмножестве языка программирования JavaScript; тем не менее, эта форма полностью не зависит от языка. Помимо того, что легко человеку читать и писать, форма данных также легка для машининного для разбора и генерации.

Также, по сравнению с XML, более удобна для восприятия человеком.

Объекты JSON

Объекты JSON являются не более чем наборами пар имя/значение, разделенных запятыми (которые часто называются члены), заключенные в фигурные скобки:

javascript
{"name1":value1, "name2":value2 ...}

Для того, чтобы придать человеческий вид, для чтения и наглядности, пары имя/значение часто перечисляются в столбик:

javascript
{
    "name1": value1,
    "name2": value2
}

Название должно быть строкой в двойных кавычках, в то время как значение может быть любым из следующих:

javascript
{
    "id":1,
    "имя":"Валерий Шипков",
    "женат":false
}
javascript
{
    "простые_числа":[2, 3, 5, 7, 11, 13, 17],
    "нечётные_числа":[1,3,5,7]}
}
javascript
{
    "адрес":{"улица":"Аксакова", "город":"Калининград", "Страна":"Россия"}
}

Объекты JSON могут быть вложены произвольно для создания еще более сложных объектов:

javascript
{"user":
    {   "ползь_номер": 1900,
        "ползь_имя": "В.Шипков",
        "пароль": "12345",
        "группа": [ "admins", "users", "maintainers"]
    }
}

Правильный формат JSON

Есть несколько правил и руководящих принципов, которые определяют синтаксис JSON (см RFC 4627):

Реализации

Реализация JSON не очень строгим, и предоставляет много свободы действий клиентским приложением и/или синтаксическим анализаторам для обеспечения соблюдения руководящих принципов. Как обычно при написании кода:

Существуют две основных реализаций JSON:

Официальная спецификация синтаксиса JSON

Эта реализация строго придерживается руководящих принципов RFC 4627 и не допускает отклонений от спецификации.

Синтаксис Javascript

Эта реализация следует за реализацией языка программирования Javascript и как таковая позволяет несколько отклонений от официальной спецификации. Например:

  1. разрешает ключи не заключать в двойные кавычки {имя: "Валерий Шипков" }
  2. позволяет одиночные кавычки для ключей и/или строковых значений; и свободную смесь одиночных и двойных кавычек, например, {'имя': "Валерий Шипков", "язык":'Pascal'}
  3. позволяет запятую после последнего элемента массива и/или объекта, например,{"ключ":["if","begin","for",], "IDEs":["Lazarus","fpIDE","MSEide"],}

Смотрите также


From the Free Pascal wiki, page "JSON/ru", as it stood on 2016-03-14 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.