Umhlahlandlela we-JSON Schema

I-JSON Schema

Ngaphambi kokuthi siye ku-JSON Schema, kubalulekile ukwazi umehluko phakathi kwe-JSON ne-JSON Schema.

I-JSON

I-JSON imfushane ku-JavaScript Object Notation, futhi iyifomethi yedatha ezimele yolimi esetshenziswa ama-API ukuthumela izicelo nezimpendulo. I-JSON ilula ukufunda nokubhalela abantu nemishini ngokufanayo. I-JSON ifomethi esekelwe embhalweni engaboshelwe olimini (Ulimi oluzimele).

I-JSON Schema

I-JSON Schema iyithuluzi eliwusizo lokuqinisekisa ukwakheka kwedatha ye-JSON. Ukuze ucacise isakhiwo se-JSON, sebenzisa ifomethi esekelwe ku-JSON. Inhloso yayo iwukuqinisekisa ukuthi idatha ye-JSON iyamukeleka. Umhlangano wedatha ye-JSON yohlelo lwethu lokusebenza ungachazwa kusetshenziswa i-schema.

Kunezigaba ezintathu eziyinhloko ekucacisweni kwe-JSON Schema:

I-JSON Hyper-Schema:

I-JSON Hyper-Schema iwulimi lwe-JSON Schema olungase lusetshenziselwe ukufaka ilebula kumadokhumenti e-JSON anezixhumanisi nemiyalo yokucubungula nokushintsha izinsiza ze-JSON zangaphandle ngombhalo – izindawo ezisekelwe njenge-HTTP. Chofoza lapha ukuze ufunde kabanzi mayelana ne-JSON Hyper-Schema.

I-JSON Schema Core:

Kuyisethi yemithetho yokulebula nokuqinisekisa amadokhumenti e-JSON. 

I-JSON Schema Core:

  • Ichaza ifomethi yedatha onayo njengamanje. 
  • Iqinisekisa idatha engasetshenziswa ekuhloleni okuzenzakalelayo. 
  • Ukuqinisekisa ukunemba kwedatha enikezwe amaklayenti.  
  • Ihlinzeka ngemibhalo efundekayo kubo bobabili abantu nemishini. 

Ukuqinisekiswa kwe-JSON Schema:

Ukuqinisekisa okusekelwe ku-JSON Schema kubeka imikhawulo esakhiweni sedatha yesibonelo. Ngemuva kwalokho, noma yimaphi amagama angukhiye anokungagomeli Imininingwane, njengemethadatha echazayo nezinkomba zokusetshenziswa, zengezwa endaweni yesibonelo ehlangabezana nazo zonke izithiyo ezishiwo. 

Ithuluzi le-Newtonsoft's JSON Schema Validator iyithuluzi ongalisebenzisa ngokuqondile esipheqululini sakho, mahhala. Ungasebenzisa leli thuluzi ukuhlola ukwakheka kwe-schema sakho se-JSON. Leli khasi liqukethe izilawuli nezincazelo ukuze uqalise. Ngaleyo ndlela, kulula ukubona ukuthi ungasithuthukisa kanjani isakhiwo sakho se-JSON.

Singabheka Into yethu ye-JSON sisebenzisa Ithuluzi Lokuqinisekisa I-JSON Schema:

Iphutha Lokuqinisekisa i-JSON Limahhala

Sinokuqinisekiswa kweminyaka yobudala (ubuncane = 20 kanye nobukhulu = 40) njengoba kuboniswe esithombeni esingenhla. Awekho amaphutha atholakele.

Isiqinisekisi se-JSON Esinephutha

Ibonise iphutha uma ukuqinisekiswa kweminyaka kufakwe ngokungalungile.

Ukudalwa Kwe-JSON Schema

Ake sibheke isibonelo se-JSON Schema ukuze sibone ukuthi sikhuluma ngani. Into eyisisekelo ye-JSON echaza ikhathalogi yomkhiqizo imi kanje:

JSON Isibonelo

I-JSON Schema yayo ingase ibhalwe kanje:

Umphumela we-JSON Schema

I-JSON Schema idokhumenti ye-JSON, futhi leyo dokhumenti KUFANELE ibe into. Amagama angukhiye angamalungu/izibaluli zento ecaciswe i-JSON Schema. “Amagama angukhiye” ku-JSON Schema abhekisela engxenyeni “yokhiye” yenhlanganisela yokhiye/inani entweni. Ukubhala i-JSON Schema kuhlanganisa ukwenza imephu “igama elingukhiye” elithile libe inani elingaphakathi kwento ingxenye enkulu. 

Ake sibhekisise amagama angukhiye esiwasebenzise esibonelweni sethu: 

I-schema se-JSON esithobela i-schema sesisetshenziswa sibhalwa phansi yilesi sibaluli. Lesi schema sibhalwe ngokulandela okusalungiswa okujwayelekile kwe-v4, njengoba kucaciswe “$ schema” igama elingukhiye. Lokhu kuvimbela i-schema sakho ukuthi singabuyeli enguqulweni yamanje, okungenzeka ihambisane noma ingahambisani nendala.

I "isihloko"Futhi"incazelo” amagama angukhiye ayincazelo nje; abafaki noma yimiphi imikhawulo kudatha ehlolwayo. Lawa magama angukhiye amabili achaza inhloso ye-schema: ichaza umkhiqizo.

I "uhlobo” igama elingukhiye lichaza isimo somngcele wokuqala wedatha ye-JSON; kufanele kube Into ye-JSON. Uma singasethi uhlobo lwawo wonke ama-schema, ikhodi ngeke isebenze. Ezinye izinhlobo ezijwayelekile “ziyinombolo” “Boolean” “inamba” “null” “object” “array” “string”.

 

I-JSON Schema isekelwa imitapo yolwazi elandelayo:

 

Ulimi

Library

C

I-WJElement

Python

jschon

PHP

Opis Json Schema

i-JavaScript

ajv

Go

gojsonschema

Kotlin

I-Medeia-validator

Ruby

I-JSONSchemer

I-JSON (Syntax)

Ake sibheke kafushane i-syntax eyisisekelo ye-JSON. I-syntax ye-JSON iyisethi engaphansi ye-JavaScript syntax ehlanganisa izici ezilandelayo:

  • Kusetshenziswa amapheya egama/inani amelela idatha.
  • Izinto zibanjwe ngezikaki ezigoqekile, futhi igama ngalinye liholwa ngokuthi ':' (ikholoni), ngamapheya enani ahlukaniswe ngokuthi “,” (ukhefana).
  • Amanani ahlukaniswa ngokuthi “,” (ukhefana) futhi amalungu afanayo aphethwe kubakaki abayisikwele.
JSON Syntax Isibonelo

Izakhiwo zedatha ezimbili ezilandelayo zisekelwa yi-JSON:

  • Uhlu olu-odwe lwamanani: Kungaba uhlu, uhlu, noma i-vector.
  • Ukuqoqwa kwamapheya egama/inani: Izilimi ezahlukene zekhompyutha zisekela lesi Sakhiwo Sedatha.

 

I-JSON (Into)

I-schema ye-JSON into ye-JSON eveza uhlobo nesakhiwo sento ehlukile ye-JSON. Isisho sento ye-JavaScript singamela into ye-JSON ezindaweni zesikhathi sokusebenza se-JavaScript. Ezinye izibonelo zezinto ezisebenzayo ze-schema zimi kanje:

I-Schema

Ukufana

{}

noma yiliphi inani

{uhlobo: 'into'}

into ye-JavaScript

{uhlobo: 'inombolo'}

inombolo ye-JavaScript

{uhlobo: 'string'}

iyunithi yezinhlamvu ye-JavaScript

Isib:

Ukwenza into entsha engenalutho:

var JSON_Obj = {};

Ukudalwa Kwento Entsha:

var JSON_Obj = into entsha()

I-JSON (Ukuqhathanisa ne-XML)

I-JSON ne-XML zingamafomethi angafundeki umuntu azimele ngolimi. Ezimeni zomhlaba wangempela, zingadala zombili, zifunde, futhi zihlukanise. Ngokusekelwe kumibandela elandelayo, singase siqhathanise i-JSON ne-XML.

kushuba

Ngenxa yokuthi i-XML iyinkimbinkimbi kune-JSON, abahleli bakhetha i-JSON.

Ukusetshenziswa kwe-Arrays

I-XML isetshenziselwa ukuveza idatha ehlelekile; Nokho, i-XML ayisekeli ama-arrays, kodwa i-JSON iyakusekela.

Ukuhlwaya

I-JSON itolikwa kusetshenziswa umsebenzi wokulinganisa we-JavaScript. I-eval ibuyisela into echaziwe lapho isetshenziswa ne-JSON.

 

Isibonelo:

 

I-JSON

XML

{

   "Inkampani": Ferrari,

   "igama": "GTS",

   "Intengo": 404000

}

 

 

Ferrari 

 

I-GTS 

 

404000 

 

Izinzuzo ze-JSON Schema

I-JSON yakhelwe ukuphambuka ngolimi olufundeka umuntu kanye nomshini. Kodwa-ke, ngaphandle kokulungiswa okuthile, kungase kube okufanayo. I-JSON Schema inenzuzo yokwenza i-JSON iqondeke kakhudlwana emishinini nakubantu.

Ukusebenzisa i-JSON Schema futhi kususa isidingo sezibuyekezo ezimbalwa zohlangothi lweklayenti. Ukwenza uhlu lwamakhodi ajwayelekile e-HTML bese uwasebenzisa ohlangothini lweklayenti kuyindlela evamile kodwa enganembile yokwakha uhlangothi lweklayenti. API izinhlelo zokusebenza. Kodwa-ke, leli akulona isu elikhulu kunawo wonke ngoba izinguquko ohlangothini lweseva zingase zidale ukuthi ukusebenza okuthile kungasebenzi kahle.

Inzuzo enkulu ye-JSON Schema ukuhambisana kwayo nezilimi ezihlukahlukene zokuhlela, kanye nokunemba nokuvumelana kokuqinisekisa.

I-JSON schema isekela izinhlobonhlobo zeziphequluli kanye izinhlelo zokusebenza, ngakho-ke izinhlelo zokusebenza ezibhalwe nge-JSON azithathi mzamo omkhulu ukuzenza zihambisane nesiphequluli. Ngesikhathi sokuthuthukiswa, onjiniyela bacabangela iziphequluli ezimbalwa, nakuba i-JSON isivele inawo amandla.

I-JSON iyindlela ephumelela kakhulu yokwabelana ngedatha yanoma yimuphi usayizi, okuhlanganisa umsindo, ividiyo, nenye imidiya. Lokhu kungenxa yokuthi i-JSON igcina idatha ngezinhlu, okwenza ukudluliswa kwedatha kube lula. Njengomphumela, i-JSON iyifomethi yefayela engcono kakhulu yama-API aku-inthanethi nokuthuthukiswa.

Njengoba ama-API ekhula ngokujwayelekile, kunengqondo ukucabanga ukuthi ukuqinisekiswa kwe-API nokuhlola kuzobaluleke kakhulu. Kunengqondo futhi ukulindela ukuthi i-JSON cishe ngeke ibe lula kakhulu njengoba isikhathi siqhubeka. Lokhu kusho ukuthi ukuba ne-schema sedatha yakho kuzokhula ngokubaluleke kakhulu njengoba isikhathi siqhubeka. Ngenxa yokuthi i-JSON iyifomethi yefayela evamile yokusebenza ngama-API, i-JSON Schema ithatha indawo enhle yalabo abasebenza ngama-API.