Útmutató a JSON-sémához

JSON-séma

Mielőtt belemennénk a JSON-sémába, fontos tudni, hogy mi a különbség a JSON és a JSON-séma között.

JSON

A JSON a JavaScript Object Notation rövidítése, és ez egy nyelvtől független adatformátum, amelyet az API-k használnak kérések és válaszok küldésére. A JSON egyszerűen olvasható és írható emberek és gépek számára egyaránt. A JSON egy szövegalapú formátum, amely nincs nyelvhez kötve (nyelvfüggetlen).

JSON-séma

A JSON-séma hasznos eszköz a JSON-adatstruktúra ellenőrzésére. A JSON szerkezetének megadásához használjon JSON-alapú formátumot. Célja annak biztosítása, hogy a JSON-adatok elfogadhatók legyenek. Az alkalmazásunk JSON-adataira vonatkozó megállapodás séma segítségével határozható meg.

A JSON-séma specifikáció három fő szakaszból áll:

JSON hiperséma:

A JSON Hyper-Schema egy JSON-sémanyelv, amely a JSON-dokumentumok hiperhivatkozásokkal és utasításokkal címkézésére használható a külső JSON-erőforrások szövegalapú környezeteken, például HTTP-n keresztüli feldolgozásához és módosításához. Kattintson itt hogy többet tudjon meg a JSON Hyper-Sémáról.

JSON séma mag:

Ez a JSON-dokumentumok címkézésére és érvényesítésére vonatkozó szabályok készlete. 

JSON séma mag:

  • Leírja az aktuális adatformátumot. 
  • Érvényesíti az automatizált teszteléshez használható adatokat. 
  • Az ügyfelek által megadott adatok pontosságának biztosítása.  
  • Emberek és gépek számára egyaránt olvasható dokumentációt biztosít. 

JSON-séma ellenőrzése:

A JSON-sémán alapuló érvényesítés korlátokat szab a példányadatok szerkezetének. Ezt követően minden olyan kulcsszó, amely nem érvényesít információ, mint például a leíró metaadatok és a használati jelzések, hozzáadásra kerülnek egy olyan példánypozícióhoz, amely megfelel az összes deklarált megszorításnak. 

A Newtonsoft JSON Schema Validator eszköze egy olyan eszköz, amelyet közvetlenül a böngészőjében használhat, ingyenesen. Ezzel az eszközzel tesztelheti a JSON-séma szerkezetét. Ez az oldal vezérlőket és magyarázatokat tartalmaz a kezdéshez. Így könnyen belátható, hogyan javíthatja a JSON-struktúrát.

A JSON-objektumunkat a JSON-séma-ellenőrző eszközzel ellenőrizhetjük:

JSON Validator hibamentes

A fenti ábrán látható módon érvényesítjük az életkort (minimum = 20 és maximum = 40). Nem találtunk hibát.

JSON-ellenőrző hibával

Hibaüzenetet jelentetett meg, ha az életkor érvényesítése helytelenül lett megadva.

A JSON-séma létrehozása

Nézzünk egy példát a JSON-sémára, hogy lássuk, miről beszélünk. A termékkatalógust leíró alapvető JSON-objektum a következő:

JSON példa

A JSON-séma a következőképpen írható:

JSON-séma eredménye

A JSON-séma egy JSON-dokumentum, és ennek a dokumentumnak objektumnak KELL lennie. A kulcsszavak a JSON-séma által meghatározott objektumtagok/attribútumok. A JSON-séma „kulcsszavai” egy kulcs/érték kombináció „kulcs” részére utalnak egy objektumban. A JSON-séma írása legtöbbször egy adott „kulcsszó” hozzárendelését jelenti egy objektumon belüli értékhez. 

Nézzük meg közelebbről a példánkban használt kulcsszavakat: 

Az attribútum írja le azt a JSON-sémát, amelynek az erőforrás sémája megfelel. Ez a séma a vázlatok v4 szabvány szerint készült, ahogy azt a „$ séma” kulcsszó. Ez megakadályozza, hogy a séma visszaálljon a jelenlegi verzióra, amely lehet, hogy kompatibilis a régebbi verziókkal.

Azcím"És"leírás” a kulcsszavak csak magyarázó jellegűek; nem szabnak semmilyen korlátozást az ellenőrzött adatokra vonatkozóan. Ez a két kulcsszó írja le a séma célját: egy terméket ír le.

Aztípus” kulcsszó határozza meg a JSON-adataink első határfeltételét; JSON-objektumnak kell lennie. Ha nem állítunk be minden sémához típust, a kód nem működne. Néhány elterjedt típus: „szám”, „logikai” „egész”, „null”, „objektum”, „tömb” „karakterlánc”.

 

A JSON-sémát a következő könyvtárak támogatják:

 

Nyelv

könyvtár

C

WJElement

Piton

jschon

PHP

Opis Json Schema

JavaScript

ajv

Go

gojsonschema

Kotlin

Médeia-validátor

Rubin

JSONSchemer

JSON (szintaxis)

Vessünk egy rövid pillantást a JSON alapvető szintaxisára. A JSON szintaxis a JavaScript szintaxis egy részhalmaza, amely a következő elemeket tartalmazza:

  • A név/érték párok az adatokat reprezentálják.
  • Az objektumok kapcsos zárójelben vannak, és minden nevet egy „:” (kettőspont) vezet, az értékpárokat pedig „,” (vessző) választja el.
  • Az értékeket „,” (vessző) választja el, a tömbök pedig szögletes zárójelben vannak.
JSON szintaxis példa

A következő két adatszerkezetet támogatja a JSON:

  • Rendezett értéklista: Ez lehet tömb, lista vagy vektor.
  • Név/érték párok gyűjteménye: Különböző számítógépes nyelvek támogatják ezt az adatstruktúrát.

 

JSON (objektum)

A JSON-séma egy JSON-objektum, amely felvázolja egy másik JSON-objektum típusát és szerkezetét. A JavaScript objektumkifejezés egy JSON-objektumot képviselhet JavaScript futási környezetekben. Néhány példa érvényes sémaobjektumokra:

Séma

Gyufa

{}

bármilyen értéket

{ type: 'objektum' }

egy JavaScript objektum

{ type: 'number' }

egy JavaScript számot

{ type: 'string'}

egy JavaScript karakterlánc

Például:

Új objektum létrehozása üresen:

var JSON_Obj = {};

Új objektum létrehozása:

var JSON_Obj = új objektum()

JSON (összehasonlítás XML-lel)

A JSON és az XML nyelvtől független, ember által olvasható formátumok. Valós forgatókönyvekben egyaránt létrehozhatnak, olvashatnak és dekódolhatnak. A következő kritériumok alapján összehasonlíthatjuk a JSON-t az XML-lel.

Bonyolultság

Mivel az XML összetettebb, mint a JSON, a programozók előnyben részesítik a JSON-t.

Tömbök használata

Az XML-t a strukturált adatok kifejezésére használják; az XML azonban nem támogatja a tömböket, de a JSON igen.

nyelvtani elemzés

A JSON értelmezése a JavaScript eval függvénye segítségével történik. Az eval a leírt objektumot adja vissza, ha JSON-nal használják.

 

Példa:

 

JSON

XML

{

   „cég”: Ferrari,

   "név": "GTS",

   „ár”: 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

JSON-séma előnyei

A JSON-t úgy tervezték, hogy eltérítsen egy ember és gép által olvasható nyelven. Azonban némi finomhangolás nélkül egyik sem lehet. A JSON-séma előnye, hogy a JSON-t érthetőbbé teszi mind a gépek, mind az emberek számára.

A JSON-séma használatával több ügyféloldali frissítés sem szükséges. A gyakori HTML kódok listája készítése, majd azok kliensoldali implementálása tipikus, de pontatlan módszer a kliensoldali összeállításhoz. API alkalmazásokat. Ez azonban nem a legjobb stratégia, mert a szerveroldali változtatások bizonyos funkciók hibás működését okozhatják.

A JSON-séma fő előnye a különféle programozási nyelvekkel való kompatibilitása, valamint az érvényesítés pontossága és következetessége.

A JSON-séma a böngészők széles skáláját támogatja és operációs rendszer, ezért a JSON-ban írt alkalmazásoknak nem kell sok erőfeszítésbe kerülniük, hogy mindegyik böngészőkompatibilis legyen. A fejlesztés során a fejlesztők több böngészőt is figyelembe vesznek, bár a JSON már rendelkezik a lehetőségekkel.

A JSON a leghatékonyabb módja bármilyen méretű adatok megosztásának, beleértve a hang-, videó- ​​és egyéb médiát. Ez annak köszönhető, hogy a JSON tömbökben tárolja az adatokat, ami megkönnyíti az adatátvitelt. Ennek eredményeként a JSON a legjobb fájlformátum az online API-khoz és fejlesztésekhez.

Ahogy az API-k egyre gyakoribbak, logikus feltételezni, hogy az API-ellenőrzés és -teszt egyre fontosabbá válik. Az is reális elvárás, hogy a JSON valószínűleg nem lesz sokkal egyszerűbb az idő múlásával. Ez azt jelenti, hogy az adatok sémája az idő előrehaladtával egyre kritikusabb lesz. Mivel a JSON az API-kkal való munka szabványos fájlformátuma, a JSON-séma jó helyettesítője az API-kkal dolgozóknak.

A Google és az inkognitó mítosz

A Google és az inkognitó mítosz

A Google és az inkognitómítosz 1. április 2024-jén a Google megegyezett egy perben az inkognitómódból gyűjtött adatrekordok milliárdjainak megsemmisítésével.

Tovább »