Gid pou JSON Schema
Anvan nou antre nan JSON Schema, li enpòtan pou konnen diferans ki genyen ant JSON ak JSON Schema.
JSON
JSON se kout pou JavaScript Object Notation, epi li se yon fòma done endepandan lang ke API yo itilize pou voye demann ak repons. JSON se senp pou li ak ekri pou moun ak machin sanble. JSON se yon fòma ki baze sou tèks ki pa lye ak lang (Language independent).
Chema JSON
JSON Schema se yon zouti itil pou verifye estrikti done JSON. Pou presize estrikti JSON, sèvi ak yon fòma ki baze sou JSON. Objektif li se asire ke done JSON yo akseptab. Konvansyon pou done JSON aplikasyon nou an ka defini lè l sèvi avèk chema.
Gen twa seksyon prensipal nan spesifikasyon JSON Schema:
JSON Hyper-Schema:
JSON Hyper-Schema se yon lang JSON Schema ki ka itilize pou make dokiman JSON ak lyen ak enstriksyon pou trete ak chanje resous JSON ekstèn atravè anviwònman ki baze sou tèks tankou HTTP. Klike sou isit la pou aprann plis sou JSON Hyper-Schema.
Nwayo chema JSON:
Li se yon seri règ pou make ak valide dokiman JSON.
Nwayo chema JSON:
- Dekri fòma done ou genyen kounye a.
- Valide done ki ka itilize nan tès otomatik yo.
- Asire presizyon nan done yo bay kliyan yo.
- Bay dokiman lizib pou tou de moun ak machin.
Validasyon chema JSON:
Validasyon ki baze sou JSON Schema enpoze limit sou estrikti done egzanp yo. Apre sa, nenpòt mo kle ki pa afimasyon enfòmasyon, tankou metadata deskriptif ak endikasyon itilizasyon, yo ajoute nan yon pozisyon egzanp ki satisfè tout kontrent deklare.
Zouti JSON Schema Validator Newtonsoft a se yon zouti ou ka itilize dirèkteman nan navigatè w la, gratis. Ou ka itilize zouti sa a pou teste estrikti chema JSON ou a. Paj sa a gen kontwòl ak eksplikasyon pou fè w kòmanse. Nan fason sa a, li fasil pou wè ki jan yo amelyore estrikti JSON ou.
Nou ka tcheke Objè JSON nou an lè l sèvi avèk Zouti Validasyon Schema JSON:
Nou gen validation laj (minimòm = 20 ak maksimòm = 40) jan yo montre nan figi ki anwo a. Pa te jwenn okenn erè.
Li te montre yon erè si validation laj la te antre mal.
Kreyasyon yon chema JSON
Ann gade yon egzanp JSON Schema pou wè de sa n ap pale. Yon objè JSON debaz ki dekri yon katalòg pwodwi se jan sa a:
Chema JSON li a ka ekri jan sa a:
Yon Schema JSON se yon dokiman JSON, epi dokiman sa a DWE yon objè. Mo kle yo se manm objè/atribi ki espesifye pa JSON Schema. "Mo kle" nan Schema JSON refere a pati "kle" nan yon konbinezon kle/valè nan yon objè. Ekri yon chema JSON enplike nan kat yon "mo kle" patikilye nan yon valè nan yon objè pou pati ki pi.
Ann pran yon gade pi pre nan mo kle nou te itilize nan egzanp nou an:
Se atribi sa a ekri chema JSON ak chema resous la konfòme. Schema sa a ekri swivan proje v4 estanda, jan sa espesifye nan "$ chema” mo kle. Sa a anpeche chema ou a tounen nan vèsyon aktyèl la, ki ka oswa pa ka konpatib ak pi gran.
"Lantit"Ak"deskripsyon” mo kle yo jis eksplikasyon; yo pa enpoze okenn limit sou done yo ap tcheke. De mo kle sa yo dekri objektif chema a: li dekri yon pwodwi.
"Lankalite” mo kle defini premye kondisyon fwontyè done JSON nou an; li dwe yon Objè JSON. Si nou pa mete kalite pou tout chema, kòd la pa ta travay. Gen kèk kalite komen yo se "nimewo" "Boolean" "nonb antye relatif" "nil" "objè" "etalaj" "fisèl".
JSON Schema sipòte pa bibliyotèk sa yo:
Lang | Bibliyotèk |
C | WJElement |
Piton | jschon |
PHP | Dekri teren Json Schema |
JavaScript | ajv |
Go | gojsonschema |
Kotlin | Medya-validator |
Ruby | JSONSchemer |
JSON (sentaks)
Ann pran yon ti kout je sou sentaks fondamantal JSON la. Sentaks JSON se yon pati nan sentaks JavaScript ki gen ladan eleman sa yo:
- Yo itilize pè non/valè ki reprezante done.
- Objè yo kenbe nan akolad boukle, epi chak non dirije pa yon ':' (kolon), ak pè valè separe pa "," (vigil).
- Valè yo separe pa "," (vigil) ak etalaj yo kenbe nan parantèz kare.
JSON sipòte de estrikti done sa yo:
- Lis valè òdone: Li kapab yon etalaj, yon lis, oswa yon vektè.
- Koleksyon pè non/valè: Diferan langaj òdinatè sipòte Estrikti Done sa a.
JSON (Objè)
Yon chema JSON se yon objè JSON ki dekri kalite ak estrikti yon objè JSON diferan. Yon ekspresyon objè JavaScript ka reprezante yon objè JSON nan anviwònman ègzekutabl JavaScript. Kèk egzanp objè chema valab yo se jan sa a:
Schema | Alimèt |
{} | nenpòt valè |
{ jan de: 'objè'} | yon objè JavaScript |
{ jan de: 'nimewo'} | yon nimewo JavaScript |
{type: 'string'} | yon kòd JavaScript |
Egzanp:
Fè yon nouvo objè ki vid:
var JSON_Obj = {};
Nouvo kreyasyon objè:
var JSON_Obj = nouvo objè ()
JSON (Konparezon ak XML)
JSON ak XML se fòma ki endepandan lang pou moun lizib. Nan senaryo mond reyèl la, yo ka tou de kreye, li, ak dekode. Dapre kritè sa yo, nou ka konpare JSON ak XML.
Konplèksite
Paske XML pi konplèks pase JSON, pwogramè yo prefere JSON.
Itilizasyon etalaj
XML itilize pou eksprime done estriktire; sepandan, XML pa sipòte etalaj, men JSON fè.
Analize
JSON entèprete lè l sèvi avèk fonksyon eval JavaScript a. eval retounen objè ki dekri a lè yo itilize ak JSON.
Egzanp:
JSON | XML |
{ "konpayi": Ferrari, "non": "GTS", "pri": 404000 } |
Ferrari
GTS
404000
|
Avantaj JSON Schema
JSON fèt pou devye nan yon lang moun ak machin-lizib. Sepandan, san kèk amann-akor, li kapab ni. JSON Schema gen avantaj pou fè JSON pi konprann pou tou de machin ak moun.
Sèvi ak JSON Schema tou retire bezwen pou plizyè mizajou bò kliyan. Fè yon lis kòd HTML komen ak Lè sa a, mete ann aplikasyon yo sou bò kliyan an se yon metòd tipik men kòrèk pou konstwi kliyan-bò. API apps. Sepandan, sa a se pa pi gwo estrateji a paske chanjman sou bò sèvè a ta ka lakòz fonksyonalite sèten fonksyone byen.
Avantaj prensipal JSON Schema se konpatibilite li ak yon varyete lang pwogramasyon, osi byen ke presizyon ak konsistans nan validation.
Schema JSON sipòte yon pakèt navigatè ak sistèm opere, Se poutèt sa aplikasyon ki ekri nan JSON pa pran anpil efò pou fè yo tout navigatè konpatib. Pandan devlopman, devlopè yo konsidere plizyè navigatè, byenke JSON deja gen kapasite yo.
JSON se fason ki pi efikas pou pataje done nenpòt gwosè, tankou odyo, videyo, ak lòt medya. Sa a se akòz lefèt ke JSON estoke done nan etalaj, ki fè transmisyon done pi fasil. Kòm yon rezilta, JSON se pi bon fòma dosye pou API sou entènèt ak devlopman.
Kòm API yo ap vin pi komen, li lojik pou asime ke validasyon API ak tès yo ap vin de pli zan pli enpòtan. Li reyalis tou pou atann ke JSON pa gen anpil chans vin pi senp kòm tan ap pase. Sa a vle di ke gen yon chema pou done ou yo pral sèlman vin pi enpòtan ak tan ap pase. Paske JSON se fòma fichye estanda pou travay ak API, JSON Schema se yon bon ranplasan pou moun k ap travay ak API.