Gwida għall-Iskema JSON

Skema JSON

Qabel ma nidħlu fl-Iskema JSON, huwa importanti li tkun taf id-differenza bejn l-Iskema JSON u JSON.

JSON

JSON huwa qasir għal JavaScript Object Notation, u huwa format tad-dejta indipendenti mill-lingwa li l-APIs jużaw biex jibagħtu talbiet u tweġibiet. JSON huwa sempliċi biex jinqara u jikteb kemm għan-nies kif ukoll għall-magni. JSON huwa format ibbażat fuq it-test li mhuwiex marbut mal-lingwa (indipendenti mil-lingwa).

Skema JSON

JSON Schema hija għodda utli għall-verifika tal-istruttura tad-dejta JSON. Biex tispeċifika l-istruttura ta' JSON, uża format ibbażat fuq JSON. L-iskop tiegħu huwa li jiżgura li d-dejta JSON tkun aċċettabbli. Il-konvenzjoni għad-dejta JSON tal-applikazzjoni tagħna tista' tiġi definita bl-użu ta' schema.

Hemm tliet taqsimiet ewlenin għall-ispeċifikazzjoni tal-Iskema JSON:

JSON Hyper-Skema:

JSON Hyper-Schema hija lingwa tal-Iskema JSON li tista' tintuża biex tittikkettja dokumenti JSON b'hyperlinks u struzzjonijiet għall-ipproċessar u t-tibdil ta' riżorsi JSON esterni permezz ta' ambjenti bbażati fuq it-test bħal HTTP. Ikklikkja hawn biex titgħallem aktar dwar JSON Hyper-Schema.

Qofol tal-Iskema JSON:

Huwa sett ta 'regoli għall-ittikkettar u l-validazzjoni ta' dokumenti JSON. 

Qofol tal-Iskema JSON:

  • Jiddeskrivi l-format tad-dejta li għandek bħalissa. 
  • Jivvalida d-dejta li tista' tintuża fl-ittestjar awtomatizzat. 
  • Tiżgura l-eżattezza tad-dejta mogħtija mill-klijenti.  
  • Jipprovdi dokumentazzjoni li tinqara kemm għall-bnedmin kif ukoll għall-magni. 

Validazzjoni tal-Iskema JSON:

Il-validazzjoni bbażata fuq Skema JSON timponi limiti fuq l-istruttura tad-dejta tal-istanza. Wara dan, kwalunkwe kliem ewlieni li ma jkollux affermazzjoni informazzjoni, bħal metadejta deskrittiva u indikazzjonijiet ta' użu, huma miżjuda ma' pożizzjoni ta' istanza li tissodisfa r-restrizzjonijiet kollha ddikjarati. 

L-għodda JSON Schema Validator ta' Newtonsoft hija għodda li tista' tuża direttament fil-browser tiegħek, mingħajr ħlas. Tista' tuża din l-għodda biex tittestja l-istruttura tal-iskema JSON tiegħek. Din il-paġna fiha kontrolli u spjegazzjonijiet biex tibda. B'dan il-mod, huwa faċli li tara kif ittejjeb l-istruttura JSON tiegħek.

Nistgħu niċċekkjaw l-Oġġett JSON tagħna billi tuża l-Għodda tal-Validazzjoni tal-Iskema JSON:

JSON Validator Ħieles minn Żball

Għandna validazzjoni tal-età (minimu = 20 u massimu = 40) kif muri fil-figura ta 'hawn fuq. Ma nstabu l-ebda żbalji.

JSON Validatur Bi Żball

Hija wriet żball jekk il-validazzjoni tal-età kienet imdaħħla ħażin.

Il-Ħolqien Ta Skema JSON

Ejja nħarsu lejn eżempju ta 'JSON Schema biex naraw dak li qed nitkellmu. Oġġett JSON bażiku li jiddeskrivi katalgu tal-prodott huwa kif ġej:

Eżempju JSON

L-Iskema JSON tagħha tista' tinkiteb kif ġej:

Riżultat tal-Iskema JSON

Skema JSON hija dokument JSON, u dak id-dokument GĦANDU jkun oġġett. Il-kliem kjavi huma membri/attributi tal-oġġett speċifikati mill-Iskema JSON. "Kliem ewlenin" fl-Iskema JSON jirreferu għall-parti "ċavetta" ta 'kombinazzjoni ċavetta/valur f'oġġett. Il-kitba ta 'Skema JSON tinvolvi l-immappjar ta' "kelma prinċipali" partikolari għal valur fi ħdan oġġett fil-biċċa l-kbira. 

Ejja nagħtu ħarsa aktar mill-qrib lejn il-kliem kjavi li użajna fl-eżempju tagħna: 

L-iskema JSON li tikkonforma magħha l-iskema tar-riżors hija miktuba b'dan l-attribut. Din l-iskema hija miktuba wara l-istandard tal-abbozzi v4, kif speċifikat mill-“$ skema” keyword. Dan jipprevjeni l-iskema tiegħek milli taqa 'lura għall-verżjoni attwali, li tista' jew ma tistax tkun kompatibbli ma 'l-anzjani.

Il-"titolu"U"deskrizzjoni” keywords huma biss spjegattivi; ma jimponu l-ebda limitazzjoni fuq id-dejta li tkun qed tiġi vverifikata. Dawn iż-żewġ kliem prinċipali jiddeskrivu l-iskop tal-iskema: jiddeskrivi prodott.

Il-"tip” keyword tiddefinixxi l-ewwel kundizzjoni tal-konfini tad-data JSON tagħna; għandu jkun Oġġett JSON. Jekk ma nissettjawx it-tip għall-iskemi kollha, il-kodiċi ma jaħdimx. Xi tipi komuni huma "numru" "Boolean" "integer" "null" "oġġett" "array" "string".

 

L-Iskema JSON hija appoġġjata mil-libreriji li ġejjin:

 

lingwa

Librerija

C

WJElement

Python

jschon

PHP

Informazzjoni Json Schema

JavaScript

ajv

Go

gojsonschema

Kotlin

Medea-validator

Ruby

JSONSchemer

JSON (Sintassi)

Ejja nagħtu ħarsa qasira lejn is-sintassi fundamentali ta 'JSON. Is-sintassi JSON hija subsett tas-sintassi JavaScript li tinkludi l-elementi li ġejjin:

  • Jintużaw pari isem/valur li jirrappreżentaw id-dejta.
  • L-oġġetti jinżammu f'ċingi kaboċċi, u kull isem huwa mmexxi minn ':' (kolon), b'pari ta' valuri separati b'“,” (virgola).
  • Il-valuri huma separati b'“,” (virgola) u l-arrays jinżammu f'parentesi kwadri.
Eżempju tas-Sintassi JSON

Iż-żewġ strutturi tad-dejta li ġejjin huma appoġġjati minn JSON:

  • Lista ordnata ta' valuri: Jista 'jkun firxa, lista, jew vettur.
  • Ġbir ta' pari isem/valur: Lingwi tal-kompjuter differenti jappoġġaw din l-Istruttura tad-Dejta.

 

JSON (Oġġett)

Skema JSON hija oġġett JSON li jiddeskrivi t-tip u l-istruttura ta 'oġġett JSON differenti. Espressjoni ta' oġġett JavaScript tista' tirrappreżenta oġġett JSON f'ambjenti ta' runtime JavaScript. Xi eżempji ta 'oġġetti schema validi huma kif ġej:

Skema

Sulfarini

{}

kwalunkwe valur

{ tip: 'oġġett' }

oġġett JavaScript

{ tip: 'numru'}

numru JavaScript

{ tip: 'string'}

string JavaScript

Eż:

Nagħmlu oġġett ġdid li huwa vojt:

var JSON_Obj = {};

Ħolqien ta' Oġġett Ġdid:

var JSON_Obj = oġġett ġdid ()

JSON (Tqabbil ma' XML)

JSON u XML huma formati indipendenti mill-lingwa li jinqraw mill-bniedem. F'xenarji tad-dinja reali, it-tnejn jistgħu joħolqu, jaqraw u jiddekodifikaw. Ibbażat fuq il-kriterji li ġejjin, nistgħu nqabblu JSON ma 'XML.

Kumplessità

Minħabba li XML huwa aktar kumpless minn JSON, il-programmaturi jippreferu JSON.

Użu ta' Arrays

XML jintuża biex jesprimi data strutturata; madankollu, XML ma jappoġġjax arrays, iżda JSON jagħmel.

Parsing

JSON huwa interpretat bl-użu tal-funzjoni eval ta' JavaScript. eval jirritorna l-oġġett deskritt meta jintuża ma' JSON.

 

Eżempju:

 

JSON

XML

{

   “kumpanija”: Ferrari,

   “isem”: “GTS”,

   “prezz”: 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Vantaġġi tal-Iskema JSON

JSON huwa ddisinjat biex jiddevja f'lingwa li tinqara mill-bniedem u mill-magni. Madankollu, mingħajr xi rfinar, jista 'jkun la. JSON Schema għandha l-vantaġġ li tagħmel JSON aktar jinftiehem kemm għall-magni kif ukoll għall-bnedmin.

L-użu tal-Iskema JSON ineħħi wkoll il-ħtieġa għal diversi aġġornamenti min-naħa tal-klijent. Li tagħmel lista ta' kodiċijiet HTML komuni u mbagħad timplimentahom fuq in-naħa tal-klijent huwa metodu tipiku iżda mhux preċiż biex jinbena min-naħa tal-klijent API apps. Madankollu, din mhix l-akbar strateġija minħabba li bidliet fuq in-naħa tas-server jistgħu jikkawżaw ċerti funzjonalitajiet biex jaħdmu ħażin.

Il-vantaġġ ewlieni ta 'JSON Schema huwa l-kompatibilità tagħha ma' varjetà ta 'lingwi ta' programmar, kif ukoll l-eżattezza u l-konsistenza tal-validazzjoni.

L-iskema JSON tappoġġja firxa wiesgħa ta 'browsers u sistemi operattivi, għalhekk apps miktuba f'JSON ma jieħdux ħafna sforz biex jagħmluhom kollha kompatibbli bil-browser. Matul l-iżvilupp, l-iżviluppaturi jikkunsidraw diversi browsers, għalkemm JSON diġà għandu l-kapaċitajiet.

JSON huwa l-aktar mod effiċjenti biex taqsam dejta ta' kwalunkwe daqs, inkluż awdjo, vidjo, u midja oħra. Dan huwa dovut għall-fatt li JSON jaħżen id-dejta f'arrays, li jagħmel it-trażmissjoni tad-dejta aktar faċli. Bħala riżultat, JSON huwa l-aħjar format tal-fajl għall-APIs u l-iżvilupp onlajn.

Hekk kif l-APIs jikbru aktar komuni, huwa loġiku li wieħed jassumi li l-validazzjoni u l-ittestjar tal-API se jsiru dejjem aktar importanti. Huwa wkoll realistiku li wieħed jistenna li JSON mhux probabbli li jsir ħafna aktar sempliċi hekk kif jgħaddi ż-żmien. Dan jimplika li li jkollok skema għad-dejta tiegħek se tikber biss aktar kritika aktar ma jgħaddi ż-żmien. Minħabba li JSON huwa l-format tal-fajl standard biex taħdem ma 'APIs, JSON Schema hija sostitut tajjeb għal dawk li jaħdmu ma' APIs.

Google u The Incognito Myth

Google u The Incognito Myth

Google u l-Leġġenda Incognito Fl-1 ta' April 2024, Google qablet li ssolvi kawża billi teqred biljuni ta' rekords tad-dejta miġbura mill-modalità Incognito.

Aqra Aktar »