Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

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.

Версия 1, последнее изменение: WikiArchive, .