Ръководство за JSON схема

JSON схема

Преди да преминем към JSON Schema, важно е да знаете разликата между JSON и JSON Schema.

JSON

JSON е съкращение от JavaScript Object Notation и е независим от езика формат на данни, който API използва за изпращане на заявки и отговори. JSON е лесен за четене и писане както за хора, така и за машини. JSON е текстов формат, който не е обвързан с език (независим от езика).

JSON схема

JSON Schema е полезен инструмент за проверка на структурата на JSON данни. За да укажете структурата на JSON, използвайте формат, базиран на JSON. Целта му е да гарантира, че JSON данните са приемливи. Конвенцията за JSON данните на нашето приложение може да бъде дефинирана с помощта на схема.

Има три основни раздела към спецификацията на JSON Schema:

JSON хиперсхема:

JSON Hyper-Schema е език на JSON Schema, който може да се използва за етикетиране на JSON документи с хипервръзки и инструкции за обработка и промяна на външни JSON ресурси чрез текстови среди като HTTP. Кликнете тук за да научите повече за JSON Hyper-Schema.

Ядро на JSON схема:

Това е набор от правила за етикетиране и валидиране на JSON документи. 

Ядро на JSON схема:

  • Описва формата на данните, който имате в момента. 
  • Валидира данни, които могат да се използват при автоматизирано тестване. 
  • Гарантиране на точността на данните, предоставени от клиентите.  
  • Осигурява четлива документация както за хора, така и за машини. 

Валидиране на JSON схема:

Валидирането, базирано на JSON Schema, налага ограничения върху структурата на данните на екземпляра. След това всички ключови думи, които не са твърдения информация, като например описателни метаданни и указания за употреба, се добавят към позиция на екземпляр, която отговаря на всички декларирани ограничения. 

Инструментът JSON Schema Validator на Newtonsoft е инструмент, който можете да използвате директно във вашия браузър, безплатно. Можете да използвате този инструмент, за да тествате структурата на вашата JSON схема. Тази страница съдържа контроли и обяснения, за да започнете. По този начин е лесно да видите как да подобрите вашата JSON структура.

Можем да проверим нашия JSON обект с помощта на JSON Schema Validation Tool:

JSON Validator без грешки

Имаме валидиране на възрастта (минимум = 20 и максимум = 40), както е показано на фигурата по-горе. Няма открити грешки.

JSON валидатор с грешка

Той показва грешка, ако валидирането на възрастта е въведено неправилно.

Създаване на JSON схема

Нека да разгледаме пример за JSON схема, за да видим за какво говорим. Базов JSON обект, описващ продуктов каталог, е както следва:

Пример за JSON

Неговата JSON схема може да бъде написана по следния начин:

Резултат от JSON схема

JSON Schema е JSON документ и този документ ТРЯБВА да бъде обект. Ключовите думи са членове/атрибути на обекти, определени от JSON схема. „Ключовите думи“ в JSON Schema се отнасят до „ключовата“ част от комбинация ключ/стойност в обект. Писането на JSON схема включва картографиране на конкретна „ключова дума“ към стойност в рамките на обект в по-голямата си част. 

Нека разгледаме по-отблизо ключовите думи, които използвахме в нашия пример: 

Схемата JSON, на която съответства схемата на ресурса, се записва от този атрибут. Тази схема е написана съгласно стандарта чернови v4, както е посочено от „$ схема” ключова дума. Това предотвратява връщането на вашата схема към текущата версия, която може или не може да е съвместима с по-старата.

"заглавие"А"описание” ключовите думи са само обяснителни; те не налагат никакви ограничения върху проверяваните данни. Тези две ключови думи описват целта на схемата: тя описва продукт.

"тип” ключовата дума дефинира първото гранично условие на нашите JSON данни; трябва да е JSON обект. Ако не зададем тип за всички схеми, кодът няма да работи. Някои често срещани типове са „число“ „Булев“ „цяло число“ „нула“ „обект“ „масив“ „низ“.

 

JSON Schema се поддържа от следните библиотеки:

 

Език

Библиотека

C

WJEлемент

Питон

jschon

PHP

Описание на Json схема

JavaScript

прил

Go

gojsonschema

Kotlin

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

Рубин

JSONSchemer

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

Нека да разгледаме накратко основния синтаксис на JSON. Синтаксисът на JSON е подмножество от синтаксиса на JavaScript, който включва следните елементи:

  • Използват се двойки име/стойност, които представляват данни.
  • Обектите се държат във фигурни скоби и всяко име се води с „:“ (двоеточие), като двойките стойности са разделени със „,“ (запетая).
  • Стойностите са разделени със „,“ (запетая), а масивите са поставени в квадратни скоби.
Пример за синтаксис на JSON

Следните две структури от данни се поддържат от JSON:

  • Подреден списък със стойности: Може да бъде масив, списък или вектор.
  • Колекция от двойки име/стойност: Различни компютърни езици поддържат тази структура на данните.

 

JSON (обект)

JSON схема е JSON обект, който очертава типа и структурата на различен JSON обект. Обектен израз на JavaScript може да представлява JSON обект в среда за изпълнение на JavaScript. Някои примери за валидни обекти на схема са както следва:

схема

Кибрит

{}

всяка стойност

{ тип: 'обект' }

JavaScript обект

{ type: 'number' }

JavaScript номер

{ тип: 'низ'}

JavaScript низ

Например:

Създаване на нов обект, който е празен:

var JSON_Obj = {};

Създаване на нов обект:

var JSON_Obj = нов обект()

JSON (Сравнение с XML)

JSON и XML са независими от езика четими формати. В сценарии от реалния свят те могат да създават, четат и декодират. Въз основа на следните критерии можем да сравним JSON с XML.

Сложност

Тъй като XML е по-сложен от JSON, програмистите предпочитат JSON.

Използване на масиви

XML се използва за изразяване на структурирани данни; XML обаче не поддържа масиви, но JSON поддържа.

морфологичен разбор

JSON се интерпретира с помощта на функцията eval на JavaScript. eval връща описания обект, когато се използва с JSON.

 

Пример:

 

JSON

XML

{

   „компания“: Ferrari,

   „име“: „GTS“,

   “цена”: 404000

}

 

 

Ферари 

 

GTS 

 

404000 

 

Предимства на JSON схема

JSON е проектиран да се отклонява на език, който може да се чете от хора и машини. Въпреки това, без известна фина настройка, не може да бъде нито едното, нито другото. JSON Schema има предимството да прави JSON по-разбираем както за машини, така и за хора.

Използването на JSON схема също премахва необходимостта от няколко актуализации от страна на клиента. Създаването на списък с общи HTML кодове и след това внедряването им от страна на клиента е типичен, но неточен метод за конструиране от страна на клиента API приложения. Това обаче не е най-добрата стратегия, тъй като промените от страна на сървъра може да доведат до неправилно функциониране на определени функции.

Основното предимство на JSON Schema е нейната съвместимост с различни езици за програмиране, както и точността и последователността на валидирането.

JSON схемата поддържа широк набор от браузъри и операционна система, следователно приложенията, написани на JSON, не полагат много усилия, за да направят всички тях съвместими с браузър. По време на разработката разработчиците обмислят няколко браузъра, въпреки че JSON вече има възможностите.

JSON е най-ефективният начин за споделяне на данни от всякакъв размер, включително аудио, видео и други медии. Това се дължи на факта, че JSON съхранява данни в масиви, което улеснява предаването на данни. В резултат на това JSON е най-добрият файлов формат за онлайн API и разработка.

Тъй като API стават все по-често срещани, логично е да се предположи, че валидирането и тестването на API ще стават все по-важни. Също така е реалистично да се очаква, че няма вероятност JSON да стане много по-опростен с течение на времето. Това означава, че наличието на схема за вашите данни само ще стане по-важно с течение на времето. Тъй като JSON е стандартният файлов формат за работа с API, JSON Schema е добър заместител за тези, които работят с API.

Конфигуриране на Tor Browser за максимална защита

Конфигуриране на Tor Browser за максимална защита

Конфигуриране на браузъра Tor за максимална защита Въведение Защитата на вашата онлайн поверителност и сигурност е от първостепенно значение и един ефективен инструмент за постигане на това е Tor

Прочети повече »
Как да декриптирате хешове

Как да декриптирате хешове

Как да декриптирате хешове Въведение Hashes.com е стабилна платформа, широко използвана при тестване за проникване. Предлага набор от инструменти, включително хеш идентификатори, хеш верификатор,

Прочети повече »