Mwongozo wa JSON Schema

JSON Schema

Kabla hatujaingia kwenye JSON Schema, ni muhimu kujua tofauti kati ya JSON na JSON Schema.

JSON

JSON ni kifupi cha JavaScript Object Notation, na ni umbizo la data lisilotegemea lugha ambalo API hutumia kutuma maombi na majibu. JSON ni rahisi kusoma na kuandika kwa watu na mashine sawa. JSON ni umbizo la msingi wa maandishi ambalo halifungwi kwa lugha (Lugha inayojitegemea).

JSON Schema

JSON Schema ni zana muhimu ya kuthibitisha muundo wa data wa JSON. Ili kubainisha muundo wa JSON, tumia umbizo la JSON. Madhumuni yake ni kuhakikisha kuwa data ya JSON inakubalika. Mkataba wa data ya programu yetu ya JSON unaweza kufafanuliwa kwa kutumia schema.

Kuna sehemu tatu kuu za maelezo ya Schema ya JSON:

JSON Hyper-Schema:

JSON Hyper-Schema ni lugha ya Schema ya JSON ambayo inaweza kutumika kuweka lebo kwenye hati za JSON zilizo na viungo na maagizo ya kuchakata na kubadilisha rasilimali za JSON za nje kupitia maandishi - mazingira yanayotegemea HTTP. Bofya hapa ili kujifunza zaidi kuhusu JSON Hyper-Schema.

Msingi wa Schema wa JSON:

Ni seti ya sheria za kuweka lebo na kuhalalisha hati za JSON. 

Msingi wa Schema wa JSON:

  • Inaelezea muundo wa data ulio nao sasa. 
  • Huthibitisha data inayoweza kutumika katika majaribio ya kiotomatiki. 
  • Kuhakikisha usahihi wa data iliyotolewa na wateja.  
  • Hutoa hati zinazoweza kusomeka kwa wanadamu na mashine. 

Uthibitishaji wa Schema ya JSON:

Uthibitishaji kulingana na Schema ya JSON huweka vikomo kwenye muundo wa data ya mfano. Baada ya hapo, maneno yoyote muhimu kuwa na yasiyo ya madai habari, kama vile metadata ya maelezo na viashiria vya matumizi, huongezwa kwa nafasi ya mfano ambayo inakidhi vikwazo vyote vilivyotangazwa. 

Zana ya Newtonsoft's JSON Schema Validator ni zana ambayo unaweza kutumia moja kwa moja kwenye kivinjari chako, bila malipo. Unaweza kutumia zana hii kujaribu muundo wa schema yako ya JSON. Ukurasa huu una vidhibiti na maelezo ya kukufanya uanze. Kwa njia hiyo, ni rahisi kuona jinsi ya kuboresha muundo wako wa JSON.

Tunaweza kuangalia Kitu chetu cha JSON kwa kutumia Zana ya Uthibitishaji wa Schema ya JSON:

Hitilafu ya Kithibitishaji cha JSON Bila Malipo

Tuna uthibitishaji wa umri (kiwango cha chini = 20 na cha juu = 40) kama inavyoonyeshwa kwenye takwimu hapo juu. Hakukuwa na makosa yaliyopatikana.

Kithibitishaji cha JSON chenye Hitilafu

Ilionyesha hitilafu ikiwa uthibitishaji wa umri uliwekwa vibaya.

Uundaji wa Schema ya JSON

Wacha tuangalie mfano wa JSON Schema ili kuona tunazungumza nini. Kitu cha msingi cha JSON kinachoelezea orodha ya bidhaa ni kama ifuatavyo:

Mfano wa JSON

Schema yake ya JSON inaweza kuandikwa kama ifuatavyo:

Matokeo ya Schema ya JSON

JSON Schema ni hati ya JSON, na hati hiyo LAZIMA iwe kitu. Maneno muhimu ni washiriki wa kitu/sifa zilizobainishwa na JSON Schema. "Maneno Muhimu" katika JSON Schema hurejelea sehemu ya "ufunguo" ya mseto/mseto wa thamani katika kitu. Kuandika Schema ya JSON inajumuisha kuchora "neno kuu" fulani kwa thamani ndani ya kitu kwa sehemu kubwa. 

Wacha tuangalie kwa karibu maneno muhimu tuliyotumia katika mfano wetu: 

Ratiba ya JSON ambayo taratibu ya rasilimali inatii imeandikwa na sifa hii. Schema hii imeandikwa kufuatia rasimu za kiwango cha v4, kama ilivyoainishwa na "$ schema” neno kuu. Hii inazuia utaratibu wako kurudi kwenye toleo la sasa, ambalo linaweza au lisiendane na la zamani.

"title"Na"maelezo” maneno muhimu ni maelezo tu; haziwekei vikwazo vyovyote kwenye data inayoangaliwa. Maneno haya mawili yanaelezea madhumuni ya schema: inaelezea bidhaa.

"aina” neno kuu linafafanua hali ya mpaka ya kwanza ya data ya JSON; lazima iwe ni Kitu cha JSON. Ikiwa hatutaweka aina kwa miundo yote, msimbo hautafanya kazi. Baadhi ya aina za kawaida ni "nambari" "Boolean" "integer" "null" "object" "safu" "kamba".

 

JSON Schema inaungwa mkono na maktaba zifuatazo:

 

lugha

maktaba

C

WJElement

Chatu

jschon

PHP

Opis Json Schema

JavaScript

ajv

Go

gojsonschema

Kotlin

Medeia-kithibitishaji

Ruby

JSONSchemer

JSON (Sintaksia)

Wacha tuangalie kwa ufupi syntax ya msingi ya JSON. Sintaksia ya JSON ni seti ndogo ya sintaksia ya JavaScript inayojumuisha vipengele vifuatavyo:

  • Jozi za majina/thamani hutumiwa zinazowakilisha data.
  • Vitu vinashikiliwa kwa viunga vilivyopindapinda, na kila jina linaongozwa na ':' (koloni), na jozi za thamani zikitenganishwa na "," ( koma).
  • Thamani zinatenganishwa na "," ( koma) na safu hushikiliwa katika mabano ya mraba.
Mfano wa Sintaksia ya JSON

Miundo miwili ifuatayo ya data inaungwa mkono na JSON:

  • Orodha ya maadili yaliyopangwa: Inaweza kuwa safu, orodha, au vekta.
  • Mkusanyiko wa jozi za majina/thamani: Lugha tofauti za kompyuta zinaauni Muundo huu wa Data.

 

JSON (Kitu)

Schema ya JSON ni kitu cha JSON ambacho kinaonyesha aina na muundo wa kitu tofauti cha JSON. Usemi wa kitu cha JavaScript unaweza kuwakilisha kitu cha JSON katika mazingira ya wakati wa utekelezaji wa JavaScript. Baadhi ya mifano ya vitu halali vya schema ni kama ifuatavyo:

Schema

Matches

{}

thamani yoyote

{aina: 'kitu'}

kitu cha JavaScript

{aina: 'nambari'}

nambari ya JavaScript

{aina: 'kamba'}

mfuatano wa JavaScript

Mfano:

Kutengeneza kitu kipya ambacho ni tupu:

var JSON_Obj = {};

Uundaji wa Kitu Kipya:

var JSON_Obj = kitu kipya()

JSON (Ikilinganisha na XML)

JSON na XML ni fomati zisizo na lugha zinazoweza kusomeka na binadamu. Katika matukio ya ulimwengu halisi, wanaweza kuunda, kusoma na kusimbua. Kulingana na vigezo vifuatavyo, tunaweza kulinganisha JSON na XML.

utata

Kwa sababu XML ni ngumu zaidi kuliko JSON, watengenezaji programu wanapendelea JSON.

Matumizi ya Arrays

XML hutumiwa kueleza data iliyopangwa; hata hivyo, XML haitumii safu, lakini JSON inafanya hivyo.

Kuiga

JSON inafasiriwa kwa kutumia utendakazi wa uhariri wa JavaScript. eval inarudisha kitu kilichoelezewa kinapotumiwa na JSON.

 

Mfano:

 

JSON

XML

{

   "Kampuni": Ferrari,

   "jina": "GTS",

   "Bei": 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Manufaa ya Schema ya JSON

JSON imeundwa kukengeusha katika lugha inayoweza kusomeka na binadamu na mashine. Walakini, bila urekebishaji mzuri, inaweza kuwa sawa. JSON Schema ina faida ya kufanya JSON ieleweke zaidi kwa mashine na wanadamu.

Kutumia JSON Schema pia huondoa hitaji la visasisho kadhaa vya upande wa mteja. Kutengeneza orodha ya nambari za kawaida za HTML na kisha kuzitekeleza kwa upande wa mteja ni njia ya kawaida lakini isiyo sahihi ya kuunda upande wa mteja. API programu. Walakini, huu sio mkakati bora zaidi kwa sababu mabadiliko kwenye upande wa seva yanaweza kusababisha utendakazi fulani kufanya kazi vibaya.

Faida kuu ya JSON Schema ni utangamano wake na aina mbalimbali za lugha za programu, pamoja na usahihi na uthabiti wa uthibitishaji.

JSON schema inasaidia anuwai ya vivinjari na Mifumo ya uendeshaji, kwa hivyo programu zilizoandikwa katika JSON hazichukui juhudi nyingi kuzifanya zote ziendane na kivinjari. Wakati wa usanidi, wasanidi huzingatia vivinjari kadhaa, ingawa JSON tayari ina uwezo.

JSON ndiyo njia bora zaidi ya kushiriki data ya ukubwa wowote, ikijumuisha sauti, video na midia nyingine. Hii ni kutokana na ukweli kwamba JSON huhifadhi data katika safu, ambayo hurahisisha uwasilishaji wa data. Kwa hivyo, JSON ndiyo umbizo bora zaidi la faili kwa API za mtandaoni na usanidi.

Kadiri API zinavyozidi kuwa maarufu, ni jambo la busara kudhani kuwa uthibitishaji na majaribio ya API yatazidi kuwa muhimu. Pia ni kweli kutarajia kuwa JSON haitawezekana kuwa rahisi zaidi kadiri wakati unavyosonga. Hii inamaanisha kuwa kuwa na schema ya data yako kutakua muhimu zaidi kadiri muda unavyosonga. Kwa sababu JSON ndio umbizo la kawaida la faili la kufanya kazi na API, JSON Schema ni mbadala mzuri kwa wanaofanya kazi na API.

Google na Hadithi Fiche

Google na Hadithi Fiche

Google na Hadithi Fiche Mnamo Aprili 1 2024, Google ilikubali kutatua kesi kwa kuharibu mabilioni ya rekodi za data zilizokusanywa kutoka kwa Hali Fiche.

Soma zaidi "