Gvidilo al JSON-Skemo

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:

  • Priskribas la datumformaton, kiun vi nuntempe havas. 
  • Konvalidigas datumojn, kiuj povas esti uzataj en aŭtomataj testadoj. 
  • Certigante la precizecon de datumoj donitaj de klientoj.  
  • Provizas legeblan dokumentaron por homoj kaj maŝinoj. 

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:

JSON Validator Senpaga Eraro

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

JSON Validilo Kun Eraro

Ĝ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:

JSON Ekzemplo

Ĝia JSON-Skemo povus esti skribita jene:

JSON-Skemo-Rezulto

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:

  • Nomaj/valoraj paroj estas uzataj, kiuj reprezentas datumojn.
  • Objektoj estas tenitaj en krampoj, kaj ĉiu nomo estas gvidita per ':' (dupunkto), kun valorparoj apartigitaj per “,” (komo).
  • Valoroj estas apartigitaj per "," (komo) kaj tabeloj estas tenitaj en kvadrataj krampoj.
JSON-Sintakso Ekzemplo

La sekvaj du datumstrukturoj estas subtenataj de JSON:

  • Ordigita listo de valoroj: Ĝi povas esti tabelo, listo aŭ vektoro.
  • Kolekto de nom/valoraj paroj: Malsamaj komputillingvoj subtenas ĉi tiun Datuman Strukturon.

 

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.

Guglo kaj La Inkognita Mito

Guglo kaj La Inkognita Mito

Guglo kaj La Inkognita Mito La 1-an de aprilo 2024, Guglo konsentis aranĝi proceson detruante miliardojn da datenrekordoj kolektitaj de Inkognita reĝimo.

Legu pli "