Reteja piktogramo HailBytes

Gvidilo al JSON-Skemo

JSON-Skemo

Gvidilo al JSON-Skemo

Antaŭ ol ni eniras JSON-Skemon, gravas scii la diferencon inter JSON kaj JSON-Skemo.

JSON

JSON estas mallongigo de JavaScript Object Notation, kaj ĝi estas lingvo-sendependa datumformato kiun APIoj uzas por sendi petojn kaj respondojn. JSON estas simple legebla kaj skribi por homoj kaj maŝinoj egale. JSON estas tekst-bazita formato kiu ne estas ligita al lingvo (Lingvo sendependa).

JSON-Skemo

JSON-Skemo estas utila ilo por kontroli JSON-datumstrukturon. Por specifi la strukturon de JSON, uzu JSON-bazitan formaton. Ĝia celo estas certigi, ke JSON-datumoj estas akcepteblaj. La konvencio por la JSON-datumoj de nia aplikaĵo povas esti difinita per skemo.

Estas tri ĉefaj sekcioj al la JSON Schema-specifo:

JSON-Hiper-Skemo:

JSON Hyper-Schema estas JSON-Skema lingvo, kiu povas esti uzata por etikedi JSON-dokumentojn kun hiperligiloj kaj instrukcioj por prilabori kaj ŝanĝi eksterajn JSON-resursojn per teksto-bazitaj medioj kiel HTTP. Klaku tie por lerni pli pri JSON Hyper-Schema.

JSON-Skemo Kerno:

Ĝi estas aro de reguloj por etikedi kaj validigi JSON-dokumentojn. 

JSON-Skemo Kerno:

Valumado de JSON-Skemo:

Valumado bazita sur JSON-Skemo trudas limojn al la strukturo de ekzemplaj datumoj. Post tio, ajnaj ŝlosilvortoj havantaj ne-aserton informo, kiel priskribaj metadatenoj kaj uzindikoj, estas aldonitaj al ekzempla pozicio kiu renkontas ĉiujn deklaritajn limojn. 

La ilo JSON Schema Validator de Newtonsoft estas ilo, kiun vi povas uzi rekte en via retumilo, senpage. Vi povas uzi ĉi tiun ilon por testi la strukturon de via JSON-skemo. Ĉi tiu paĝo enhavas kontrolojn kaj klarigojn por komenci. Tiel, estas facile vidi kiel plibonigi vian JSON-strukturon.

Ni povas kontroli nian JSON-Objekton per la JSON-Skema Valida Ilo:


Ni havas aĝvalidigon (minimumo = 20 kaj maksimumo = 40) kiel montrite en la supra figuro. Ne estis trovitaj eraroj.

Ĝi montris eraron se la aĝvalidigo estis enmetita malĝuste.

La Kreado De JSON-Skemo

Ni rigardu ekzemplon de JSON-Skemo por vidi, pri kio ni parolas. Baza JSON-Objekto priskribanta produktokatalogon estas jene:

Ĝia JSON-Skemo povus esti skribita jene:

JSON-Skemo estas JSON-dokumento, kaj tiu dokumento DEVAS esti objekto. Ŝlosilvortoj estas objektomembroj/atributoj specifitaj de JSON-Skemo. "Ŝlosilvortoj" en JSON-Skemo rilatas al la "ŝlosilo" parto de ŝlosilo/valora kombinaĵo en objekto. Skribi JSON-Skemon implikas mapi apartan "ŝlosilvorton" al valoro ene de objekto plejparte. 

Ni rigardu pli detale la ŝlosilvortojn, kiujn ni uzis en nia ekzemplo: 

La JSON-skemo al kiu la skemo de la rimedo konformas estas notita per ĉi tiu atributo. Ĉi tiu skemo estas skribita laŭ la skizaj v4-normo, kiel specifita de la "$ skemo” ŝlosilvorto. Ĉi tio malhelpas vian skemon reveni al la nuna versio, kiu eble aŭ ne kongruas kun pli malnovaj.

la "titolo"Kaj"Priskribo” ŝlosilvortoj estas nur klariga; ili ne trudas iujn ajn limojn al la kontrolitaj datumoj. Ĉi tiuj du ŝlosilvortoj priskribas la celon de la skemo: ĝi priskribas produkton.

la "tipo” ŝlosilvorto difinas la unuan limkondiĉon de niaj JSON-datumoj; ĝi devas esti JSON-Objekto. Se ni ne agordas tipon por ĉiuj skemoj, la kodo ne funkcius. Iuj oftaj tipoj estas "nombro" "Bulea" "entjero" "nula" "objekto" "tabelo" "ĉeno".

JSON-Skemo estas subtenata de la sekvaj bibliotekoj:

lingvo Biblioteko
C WJElement
python jschon
PHP Deklaro Json Schema
JavaScript ajv
Go gojsonschema
Kotlin Medieia-validatoro
Rubeno JSONSchemer

JSON (Sintakso)

Ni rigardu mallongan la fundamentan sintakson de JSON. JSON-sintakso estas subaro de JavaScript-sintakso, kiu inkluzivas la jenajn elementojn:

La sekvaj du datumstrukturoj estas subtenataj de JSON:

JSON (objekto)

JSON-skemo estas JSON-objekto, kiu skizas la tipon kaj strukturon de malsama JSON-objekto. JavaScript-objektesprimo povas reprezenti JSON-objekton en JavaScript rultempaj medioj. Kelkaj ekzemploj de validaj skemaj objektoj estas kiel sekvas:

schema matĉoj
{} ajna valoro
{ tajpu: 'objekto' } JavaScript objekto
{ tajpu: 'nombro'} JavaScript nombro
{ tajpu: 'ŝnuro'} JavaScript-ĉeno

Ekz .:

Farante novan objekton, kiu estas malplena:

var JSON_Obj = {};

Nova Objekto-Kreado:

var JSON_Obj = nova objekto ()

JSON (Komparo kun XML)

JSON kaj XML estas lingvo-sendependaj homlegeblaj formatoj. En realaj scenaroj, ili povas ambaŭ krei, legi kaj malkodi. Surbaze de la sekvaj kriterioj, ni povas kompari JSON kun XML.

komplekseco

Ĉar XML estas pli kompleksa ol JSON, programistoj preferas JSON.

Uzo de Tabeloj

XML estas uzata por esprimi strukturitajn datumojn; tamen, XML ne subtenas tabelojn, sed JSON faras.

Analizo

JSON estas interpretita uzante la eval-funkcion de JavaScript. eval resendas la priskribitan objekton kiam uzata kun JSON.

ekzemple:

JSON XML
{

   "firmao": Ferrari,

   "nomo": "GTS",

   "prezo": 404000

}

 

Ferrari 

GTS 

404000 

Avantaĝoj de JSON-Skemo

JSON estas desegnita por deviigi en hom- kaj maŝinlegebla lingvo. Tamen, sen iom da fajnagordado, ĝi povas esti nek unu. JSON-Skemo havas la avantaĝon fari JSON pli komprenebla por kaj maŝinoj kaj homoj.

Uzi JSON-Skemon ankaŭ forigas la bezonon de pluraj klientflankaj ĝisdatigoj. Fari liston de oftaj HTML-kodoj kaj poste efektivigi ilin ĉe la klientflanko estas tipa sed malpreciza metodo por konstrui klientflankon. API apojn. Tamen, ĉi tio ne estas la plej bona strategio ĉar ŝanĝoj ĉe la servilflanko povus kaŭzi misfunkciadon de certaj funkcioj.

La ĉefa avantaĝo de JSON-Skemo estas ĝia kongruo kun diversaj programlingvoj, same kiel la precizeco kaj konsistenco de validumado.

JSON-skemo subtenas ampleksan gamon de retumiloj kaj operaciumoj, tial aplikaĵoj skribitaj en JSON ne bezonas multe da penado por igi ilin ĉiujn retumilon kongruaj. Dum evoluo, programistoj konsideras plurajn retumiloj, kvankam JSON jam havas la kapablojn.

JSON estas la plej efika maniero por kunhavigi datumojn de ajna grandeco, inkluzive de audio, video kaj aliaj amaskomunikiloj. Ĉi tio estas pro la fakto, ke JSON stokas datumojn en tabeloj, kio faciligas transdonon de datumoj. Kiel rezulto, JSON estas la plej bona dosierformato por interretaj API-oj kaj disvolviĝo.

Ĉar API-oj kreskas pli oftaj, estas logike supozi, ke API-validado kaj testado fariĝos ĉiam pli gravaj. Ankaŭ estas realisme atendi, ke JSON verŝajne ne fariĝos multe pli simpla dum la tempo pasas. Ĉi tio implicas, ke havi skemon por viaj datumoj nur fariĝos pli maltrankviliga laŭlonge de la tempo. Ĉar JSON estas la norma dosierformato por labori kun API-oj, JSON-Skemo estas bona anstataŭaĵo por tiuj, kiuj laboras kun API-oj.

Eliru poŝtelefonan version