Дастур ба схемаи 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 мебошад, ки метавонад барои нишон додани ҳуҷҷатҳои JSON бо гиперпайдоҳо ва дастурҳо оид ба коркард ва тағир додани захираҳои берунии JSON тавассути муҳити матнӣ ба монанди HTTP истифода шавад. клик кунед Ин ҷо Барои гирифтани маълумоти бештар дар бораи JSON Hyper-Schema.

Асоси схемаи JSON:

Ин маҷмӯи қоидаҳо барои тамғагузорӣ ва тасдиқи ҳуҷҷатҳои JSON мебошад. 

Асоси схемаи JSON:

  • Формати маълумотеро, ки шумо ҳоло доред, тавсиф мекунад. 
  • Маълумотеро, ки метавонанд дар санҷиши автоматӣ истифода шаванд, тасдиқ мекунад. 
  • Таъмини дурустии маълумоти аз ҷониби мизоҷон додашуда.  
  • Ҳуҷҷатҳои хондашавандаро ҳам барои одамон ва ҳам барои мошинҳо пешкаш мекунад. 

Тасдиқи схемаи JSON:

Тасдиқ дар асоси схемаи JSON ба сохтори додаҳои мисол маҳдудият мегузорад. Пас аз он, ҳама калимаҳои калидӣ, ки тасдиқ надоранд маълумот, ба монанди метамаълумоти тавсифӣ ва нишондодҳои истифода, ба мавқеи намунае, ки ба ҳама маҳдудиятҳои эълоншуда мувофиқат мекунад, илова карда мешаванд. 

Воситаи JSON Schema Validator аз Newtonsoft абзорест, ки шумо метавонед бевосита дар браузери худ ройгон истифода баред. Шумо метавонед ин асбобро барои санҷиши сохтори схемаи JSON-и худ истифода баред. Ин саҳифа дорои назорат ва тавзеҳот барои оғози кор аст. Бо ин роҳ, дидан осон аст, ки чӣ гуна сохтори JSON-и худро беҳтар кардан мумкин аст.

Мо метавонем объекти JSON-и худро бо истифода аз Tool Validation Schema JSON тафтиш кунем:

Хатои JSON Validator Free

Мо тасдиқи синну сол дорем (ҳадди ақал = 20 ва максималӣ = 40), тавре ки дар расми боло нишон дода шудааст. Ягон хато пайдо нашуд.

JSON Validator бо хатогӣ

Он хатоеро нишон дод, ки агар тасдиқи синну сол нодуруст ворид карда шуда бошад.

Эҷоди схемаи JSON

Биёед мисоли схемаи JSON-ро бубинем, то бубинем, ки мо дар бораи чӣ гап мезанем. Объекти асосии JSON, ки каталоги маҳсулотро тавсиф мекунад, чунин аст:

Намунаи JSON

Схемаи JSON-и он метавонад ба таври зерин навишта шавад:

Натиҷаи схемаи JSON

Схемаи JSON ҳуҷҷати JSON аст ва он ҳуҷҷат БОЯД объект бошад. Калидвожаҳо аъзои объект/атрибутҳои аз ҷониби JSON Schema муайяншуда мебошанд. "Калидҳо" дар схемаи JSON ба қисми "калид" -и комбинатсияи калид/арзиш дар объект ишора мекунанд. Навиштани схемаи JSON дар аксари мавридҳо харитасозии "калимаи калидӣ"-и мушаххасро ба арзиш дар дохили объект дар бар мегирад. 

Биёед калимаҳои калидиро, ки мо дар мисоли худ истифода кардем, бодиққат дида бароем: 

Схемаи JSON, ки схемаи манбаъ ба он мувофиқат мекунад, бо ин атрибут навишта шудааст. Ин схема мувофиқи лоиҳаҳои стандарти v4 навишта шудааст, ки аз ҷониби "$ схема” калимаи калидӣ. Ин имкон намедиҳад, ки схемаи шумо ба версияи ҷорӣ баргардад, ки метавонад бо кӯҳна мувофиқ бошад ё не.

Дар "ном"Ва"шарҳ” калимаҳои калидӣ танҳо фаҳмонданд; ба маълумоти тафтишшаванда ягон махдудият намегузоранд. Ин ду калимаи калидӣ ҳадафи схемаро тавсиф мекунанд: он маҳсулотро тавсиф мекунад.

Дар "намуди” калимаи калидӣ ҳолати аввалини сарҳадии додаҳои JSON-и моро муайян мекунад; он бояд объекти JSON бошад. Агар мо намудро барои ҳама схемаҳо муқаррар накунем, код кор намекунад. Баъзе намудҳои маъмул инҳоянд: "рақам" "Мантиқӣ" "тамоми" "null" "объект" "массив" "сатр".

 

JSON Schema аз ҷониби китобхонаҳои зерин дастгирӣ карда мешавад:

 

забон

китобхона

C

WJElement

Python

jschon

PHP

Opis Json Schema

JavaScript

ajv

Go

gojsonschema

Котлин

Media-validator

лаъл

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 бо истифода аз функсияи арзёбии JavaScript тафсир карда мешавад. eval объекти тавсифшударо ҳангоми истифода бо JSON бармегардонад.

 

Намуна:

 

JSON

XML

{

   "ширкат": Феррари,

   "ном": "GTS",

   "нарх": 404000

}

 

 

Феррари 

 

ГТС 

 

404000 

 

Афзалиятҳои схемаи JSON

JSON тарҳрезӣ шудааст, ки бо забони барои одамон хондашаванда ва мошина тоб наоварад. Бо вуҷуди ин, бидуни танзими дақиқ, он наметавонад ҳам бошад. JSON Schema бартарии фаҳмотар кардани JSON-ро ҳам барои мошинҳо ва ҳам барои одамон дорад.

Истифодаи JSON Schema инчунин зарурати якчанд навсозиҳои муштариро бартараф мекунад. Тартиб додани рӯйхати кодҳои маъмули HTML ва сипас татбиқи онҳо дар тарафи муштарӣ як усули маъмулӣ, вале нодуруст барои сохтани ҷониби муштарӣ мебошад. API барномаҳо. Аммо, ин стратегияи беҳтарин нест, зеро тағирот дар тарафи сервер метавонад боиси вайрон шудани баъзе функсияҳо гардад.

Бартарии асосии JSON Schema мутобиқати он бо забонҳои гуногуни барномасозӣ, инчунин дақиқӣ ва мувофиқати тасдиқ мебошад.

Схемаи JSON доираи васеи браузерҳо ва системаҳои оператсионӣ, бинобар ин барномаҳое, ки дар JSON навишта шудаанд, барои мувофиқ кардани ҳама браузерҳо кӯшиши зиёд намегиранд. Ҳангоми таҳия, таҳиягарон якчанд браузерҳоро баррасӣ мекунанд, гарчанде ки JSON аллакай қобилиятҳоро дорад.

JSON роҳи самараноки мубодилаи маълумоти ҳама гуна андоза, аз ҷумла аудио, видео ва дигар васоити ахбори омма мебошад. Ин ба он вобаста аст, ки JSON маълумотро дар массивҳо нигоҳ медорад, ки интиқоли маълумотро осон мекунад. Дар натиҷа, JSON беҳтарин формати файл барои API-ҳои онлайн ва таҳия мебошад.

Вақте ки APIҳо бештар маъмул мешаванд, мантиқан тахмин кардан лозим аст, ки санҷиш ва санҷиши API аҳамияти бештар пайдо мекунанд. Ин ҳам воқеист, ки интизор шудан мумкин аст, ки JSON бо мурури замон осонтар намешавад. Ин маънои онро дорад, ки доштани схема барои маълумоти шумо танҳо бо мурури замон муҳимтар мешавад. Азбаски JSON формати стандартии файл барои кор бо API мебошад, JSON Schema барои онҳое, ки бо API кор мекунанд, ивазкунандаи хуб аст.

Мактубҳои Коболд: Ҳамлаҳои фишинги почтаи электронӣ дар асоси HTML

Мактубҳои Коболд: Ҳамлаҳои фишинги почтаи электронӣ дар асоси HTML

Мактубҳои Коболд: Ҳамлаҳои фишингии почтаи электронии ба HTML асосёфта 31 марти соли 2024, Luta Security мақолае нашр кард, ки ба вектори нави фишинг, Kobold Letters равшанӣ меандозад.

Маълумоти бештар "
Google ва афсонаи Incognito

Google ва афсонаи Incognito

Google ва афсонаи Incognito 1 апрели соли 2024, Google розӣ шуд, ки даъворо тавассути нобуд кардани миллиардҳо сабтҳои маълумоте, ки аз реҷаи Incognito ҷамъоварӣ шудаанд, ҳал кунад.

Маълумоти бештар "
Чӣ тавр суроғаи MAC-ро қаллобӣ кардан мумкин аст

Суроғаҳои MAC ва қаллобии MAC: Роҳнамои ҳамаҷониба

Суроғаи MAC ва қаллобии MAC: Роҳнамои ҳамаҷониба Муқаддима Аз осон кардани муошират то имкон додани пайвастҳои бехатар, суроғаҳои MAC дар муайян кардани дастгоҳҳо нақши асосиро мебозанд.

Маълумоти бештар "