Керівництво по схемі JSON

Схема JSON

Перш ніж перейти до схеми JSON, важливо знати різницю між JSON і схемою JSON.

JSON

JSON — це скорочення від JavaScript Object Notation, і це незалежний від мови формат даних, який API використовує для надсилання запитів і відповідей. JSON простий для читання та запису як для людей, так і для машин. JSON — це текстовий формат, який не прив’язаний до мови (незалежний від мови).

Схема JSON

Схема JSON — це корисний інструмент для перевірки структури даних JSON. Щоб указати структуру JSON, використовуйте формат на основі JSON. Його мета — забезпечити прийнятність даних JSON. Конвенція для даних JSON нашої програми може бути визначена за допомогою схеми.

Існує три основні розділи специфікації схеми JSON:

Гіперсхема JSON:

JSON Hyper-Schema — це мова схеми JSON, яка може використовуватися для позначення документів JSON гіперпосиланнями та інструкціями щодо обробки та зміни зовнішніх ресурсів JSON за допомогою текстових середовищ, таких як HTTP. Натисніть тут щоб дізнатися більше про JSON Hyper-Schema.

Ядро схеми JSON:

Це набір правил для маркування та перевірки документів JSON. 

Ядро схеми JSON:

  • Описує наявний у вас формат даних. 
  • Перевіряє дані, які можна використовувати в автоматизованому тестуванні. 
  • Забезпечення точності даних, наданих клієнтами.  
  • Забезпечує читабельну документацію як для людей, так і для машин. 

Перевірка схеми JSON:

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

Інструмент JSON Schema Validator від Newtonsoft — це інструмент, який можна використовувати безпосередньо у вашому браузері безкоштовно. Ви можете використовувати цей інструмент для перевірки структури вашої схеми JSON. Ця сторінка містить елементи керування та пояснення, які допоможуть вам почати роботу. Таким чином, легко побачити, як покращити структуру JSON.

Ми можемо перевірити наш об’єкт JSON за допомогою інструменту перевірки схеми JSON:

JSON Validator без помилок

У нас є перевірка віку (мінімум = 20 і максимум = 40), як показано на малюнку вище. Помилок не виявлено.

Перевірка JSON із помилкою

Він показував помилку, якщо підтвердження віку було введено неправильно.

Створення схеми JSON

Давайте розглянемо приклад схеми JSON, щоб зрозуміти, про що ми говоримо. Базовий об’єкт JSON, що описує каталог продуктів, виглядає так:

Приклад JSON

Його схему JSON можна записати так:

Результат схеми JSON

Схема JSON — це документ JSON, і цей документ ПОВИНЕН бути об’єктом. Ключові слова – це члени/атрибути об’єктів, визначені схемою JSON. «Ключові слова» в схемі JSON стосуються «ключової» частини комбінації ключ/значення в об’єкті. Написання схеми JSON здебільшого передбачає зіставлення певного «ключового слова» зі значенням в об’єкті. 

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

Схема JSON, якій відповідає схема ресурсу, записується цим атрибутом. Ця схема написана відповідно до стандарту Drafts v4, як зазначено в «$ схема” ключове слово. Це запобігає поверненню вашої схеми до поточної версії, яка може бути або не сумісна зі старішою.

"назву"І"description” ключові слова є лише пояснювальними; вони не накладають жодних обмежень на дані, що перевіряються. Ці два ключові слова описують призначення схеми: вона описує продукт.

"типКлючове слово визначає першу граничну умову наших даних JSON; це має бути об’єкт JSON. Якщо ми не встановимо тип для всіх схем, код не працюватиме. Деякі поширені типи: «число», «логічний», «ціле», «нуль», «об’єкт», «масив», «рядок».

 

Схема JSON підтримується такими бібліотеками:

 

Language

бібліотека

C

WJElement

Python

jschon

PHP

Опис схеми Json

JavaScript

присл

Go

гойсонсхема

Котлін

Медея-валідатор

рубін

JSONSchemer

JSON (синтаксис)

Давайте коротко розглянемо фундаментальний синтаксис JSON. Синтаксис JSON – це підмножина синтаксису JavaScript, яка включає такі елементи:

  • Для представлення даних використовуються пари ім’я/значення.
  • Об’єкти містяться у фігурних дужках, а кожне ім’я починається символом «:» (двокрапка), а пари значень розділяються «,» (кома).
  • Значення розділяються символами «,» (кома), а масиви тримаються в квадратних дужках.
Приклад синтаксису JSON

Дві такі структури даних підтримуються JSON:

  • Упорядкований список значень: Це може бути масив, список або вектор.
  • Колекція пар ім'я/значення: Різні комп’ютерні мови підтримують цю структуру даних.

 

JSON (об'єкт)

Схема JSON — це об’єкт JSON, який описує тип і структуру іншого об’єкта JSON. Вираз об’єкта JavaScript може представляти об’єкт JSON у середовищах виконання JavaScript. Нижче наведено кілька прикладів дійсних об’єктів схеми:

схема

Сірники

{}

будь-яке значення

{ type: 'object' }

об’єкт JavaScript

{ type: 'number' }

номер JavaScript

{ тип: 'рядок'}

рядок JavaScript

Наприклад:

Створення нового порожнього об’єкта:

var JSON_Obj = {};

Створення нового об'єкта:

var JSON_Obj = new object()

JSON (порівняння з XML)

JSON і XML є незалежними від мови форматами, які читаються людиною. У реальних сценаріях вони можуть створювати, читати та декодувати. На основі наступних критеріїв ми можемо порівняти JSON з XML.

складність

Оскільки XML складніший за JSON, програмісти віддають перевагу JSON.

Використання масивів

XML використовується для вираження структурованих даних; однак XML не підтримує масиви, а JSON підтримує.

Parsing

JSON інтерпретується за допомогою функції eval JavaScript. eval повертає описаний об’єкт у разі використання з JSON.

 

приклад:

 

JSON

XML

{

   «компанія»: Ferrari,

   "ім'я": "GTS",

   «Ціна»: 404000

}

 

 

Феррарі 

 

GTS 

 

404000 

 

Переваги схеми JSON

JSON розроблено для того, щоб відображати мову, зрозумілу людині та машині. Однак без певного тонкого налаштування не може бути ні того, ні іншого. Схема JSON має перевагу, оскільки робить JSON більш зрозумілим як для машин, так і для людей.

Використання схеми JSON також усуває потребу в кількох оновленнях на стороні клієнта. Створення списку загальних кодів HTML і подальше їх впровадження на стороні клієнта є типовим, але неточним методом побудови на стороні клієнта API програми. Однак це не найкраща стратегія, оскільки зміни на стороні сервера можуть спричинити збій у роботі певних функцій.

Основною перевагою JSON Schema є її сумісність із різними мовами програмування, а також точність і послідовність перевірки.

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

JSON — це найефективніший спосіб обміну даними будь-якого розміру, включаючи аудіо, відео та інші медіафайли. Це пов’язано з тим, що JSON зберігає дані в масивах, що полегшує передачу даних. Як результат, JSON є найкращим форматом файлу для онлайн-інтерфейсів API та розробки.

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