json logo

Вступ у JSON


العربية Български 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עברית Magyar Indonesia Italiano 日本
한국어 فارسی Norsk Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Türkçe Українська Tiếng Việt

ECMA-404 The JSON Data Interchange Standard.

JSON (JavaScript Object Notation) - простий формат обміну даними, що є зручним як для читання та написання людиною, так і для парсінгу та генерації комп'ютером. Він базується на підмножині мови програмування JavaScript стандарту ECMA-262 3rd Edition - December 1999. JSON - це текстовий формат, повністю незалежний від мови реалізації, але він використовує конвенції, знайомі програмистам C-подібних мов, таких як C, C++, C#, Java, JavaScript, Perl, Python та багатьох інших. Ці властивості роблять JSON ідеальною мовою для обміну даними.

JSON базується на двох структурах даних:

Це универсальні структури даних. У тому чи іншому вигляді їх підтримують майже усі сучасні мови програмування. Є сенс будувати формат даних, що є незалежним від мови програмування, саме на цих структурах.

У нотації JSON це виглядає так:

Об'єкт - це невпорядкований набір пар ключ/значення. Об'єкт починается з {відкриваючої фигурної дужки і закінчується }закриваючою фигурною дужкою. Кожне ім'я супроводжують :двокрапкою, а пари ключ/значення відокремлюють ,комою.

Масив - це впорядкована колекція значень. Масив починається з [відкриваючої квадратної дужки і закінчується ]закриваючою квадратною дужкою. Значення відокремлюють ,комою.

Значення може бути строкою у подвійних лапках, числом, true, false, null, об'єктом або масивом. Ці структури можуть бути вкладеними.

Строка - це послідовність з нуля або декількох символів Unicode, загорнута в подвійні лапки, що використовує \зворотнью косу риску задля екранування. Символ являє собою односимвольну строку. Строка у JSON дуже схожа до строк у C та Java.

Число зображується так само, як у C або Java, за виключенням того, що використовується тільки десятична система.

Пробіли можна використовувати поміж будь-якими лексемами.

За виключенням деяких подробиць кодування, це повністю описує мову.

json element

value object array string number "true" "false" "null"

object '{' ws '}' '{' members '}'

members member member ',' members

member ws string ws ':' element

array '[' ws ']' '[' elements ']'

elements element element ',' elements

element ws value ws

string '"' characters '"'

characters "" character characters

character '0020' . '10FFFF' - '"' - '\' '\' escape

escape '"' '\' '/' 'b' 'f' 'n' 'r' 't' 'u' hex hex hex hex

hex digit 'A' . 'F' 'a' . 'f'

number integer fraction exponent

integer digit onenine digits '-' digit '-' onenine digits

digits digit digit digits

digit '0' onenine

onenine '1' . '9'

fraction "" '.' digits

exponent "" 'E' sign digits 'e' sign digits

sign "" '+' '-'

ws "" '0020' ws '000A' ws '000D' ws '0009' ws