Водич за шемата JSON

Шема JSON

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

JSON

JSON е кратенка за JavaScript Object Notation и тоа е формат на податоци независен од јазикот што API-ите го користат за испраќање барања и одговори. JSON е едноставен за читање и пишување и за луѓето и за машините. JSON е формат базиран на текст кој не е врзан за јазикот (независен јазик).

Шема JSON

JSON Schema е корисна алатка за проверка на структурата на податоци на JSON. За да ја одредите структурата на JSON, користете формат базиран на JSON. Неговата цел е да се осигура дека податоците од JSON се прифатливи. Конвенцијата за JSON податоците на нашата апликација може да се дефинира со помош на шема.

Постојат три главни делови за спецификацијата на шемата JSON:

JSON хипер-шема:

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

Јадро на шемата JSON:

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

Јадро на шемата JSON:

  • Го опишува форматот на податоци што го имате во моментот. 
  • Ги потврдува податоците што може да се користат при автоматско тестирање. 
  • Обезбедување на точноста на податоците дадени од клиентите.  
  • Обезбедува читлива документација и за луѓето и за машините. 

Валидација на JSON шема:

Валидацијата заснована на шемата JSON наметнува ограничувања на структурата на податоците за примероци. После тоа, сите клучни зборови кои немаат тврдење информации, како што се описни метаподатоци и индикации за употреба, се додаваат на позиција на пример што ги исполнува сите декларирани ограничувања. 

Алатката JSON Schema Validator на Newtonsoft е алатка што можете да ја користите директно во вашиот прелистувач, бесплатно. Можете да ја користите оваа алатка за да ја тестирате структурата на вашата шема JSON. Оваа страница содржи контроли и објаснувања за да започнете. На тој начин, лесно е да се види како да се подобри вашата структура JSON.

Можеме да го провериме нашиот JSON објект користејќи ја алатката за валидација на шемата JSON:

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

Имаме валидација на возраста (минимум = 20 и максимум = 40) како што е прикажано на сликата погоре. Не беа пронајдени грешки.

JSON Validator со грешка

Прикажа грешка ако валидацијата за возраста беше погрешно внесена.

Создавање на шема JSON

Ајде да погледнеме пример на JSON Schema за да видиме за што зборуваме. Основен JSON објект кој опишува каталог на производи е како што следува:

JSON Пример

Нејзината шема JSON може да биде напишана на следниов начин:

Резултат од шемата JSON

JSON шема е JSON документ и тој документ МОРА да биде објект. Клучните зборови се објект членови/атрибути наведени од JSON Schema. „Клучни зборови“ во шемата JSON се однесуваат на делот „клуч“ од комбинацијата клуч/вредност во објектот. Пишувањето JSON шема вклучува мапирање на одреден „клучен збор“ на вредност во рамките на објектот во најголем дел. 

Ајде внимателно да ги разгледаме клучните зборови што ги користевме во нашиот пример: 

Шемата JSON на која е усогласена шемата на ресурсот е запишана со овој атрибут. Оваа шема е напишана по стандардот drafts v4, како што е наведено во „$ шема“ клучен збор. Ова спречува вашата шема да се врати на тековната верзија, која може или не е компатибилна со постарата.

На "Наслов"И"опис„Клучните зборови се само објаснувачки; тие не наметнуваат никакви ограничувања на податоците што се проверуваат. Овие два клучни зборови ја опишуваат целта на шемата: таа опишува производ.

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

 

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

 

Јазик

библиотека

C

WJElement

Пајтон

jschon

PHP

Опис Јсон шема

Го вклучите Javascript-

ајв

Go

гојсоншема

Котлин

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

Руби

JSONSchemer

JSON (синтакса)

Ајде да погледнеме накратко во основната синтакса на JSON. JSON синтаксата е подмножество на синтаксата на JavaScript што ги вклучува следните елементи:

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

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

  • Подредена листа на вредности: Тоа може да биде низа, листа или вектор.
  • Збирка на парови име/вредност: Различни компјутерски јазици ја поддржуваат оваа структура на податоци.

 

JSON (објект)

JSON шема е JSON објект што го опишува типот и структурата на различен JSON објект. Изразот на објектот JavaScript може да претставува објект JSON во опкружувањата за време на траење на JavaScript. Некои примери на валидни објекти на шемата се како што следува:

Шема

Натпревари

{}

која било вредност

{тип: „објект“ }

објект JavaScript

{тип: „број“ }

број на 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

{

   „компанија“: Ферари,

   „име“: „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.