Guide till JSON Schema

JSON-schema

Innan vi går in på JSON Schema är det viktigt att veta skillnaden mellan JSON och JSON Schema.

JSON

JSON är en förkortning för JavaScript Object Notation, och det är ett språkoberoende dataformat som API:er använder för att skicka förfrågningar och svar. JSON är enkel att läsa och skriva för både människor och maskiner. JSON är ett textbaserat format som inte är bundet till språk (språkoberoende).

JSON-schema

JSON Schema är ett användbart verktyg för att verifiera JSON-datastruktur. För att specificera strukturen för JSON, använd ett JSON-baserat format. Syftet är att säkerställa att JSON-data är acceptabel. Konventionen för vår applikations JSON-data kan definieras med hjälp av schema.

Det finns tre huvudsektioner i JSON Schema-specifikationen:

JSON Hyper-Schema:

JSON Hyper-Schema är ett JSON Schema-språk som kan användas för att märka JSON-dokument med hyperlänkar och instruktioner för bearbetning och ändring av externa JSON-resurser via textbaserade miljöer som HTTP. Klick här. för att lära dig mer om JSON Hyper-Schema.

JSON Schema Core:

Det är en uppsättning regler för märkning och validering av JSON-dokument. 

JSON Schema Core:

  • Beskriver det dataformat du har för närvarande. 
  • Validerar data som kan användas i automatiserade tester. 
  • Säkerställa riktigheten av data som ges av kunder.  
  • Ger läsbar dokumentation för både människor och maskiner. 

JSON Schema Validering:

Validering baserad på JSON Schema sätter gränser för strukturen av instansdata. Efter det, alla sökord som inte är gällande informationen, såsom beskrivande metadata och användningsindikationer, läggs till i en instansposition som uppfyller alla deklarerade begränsningar. 

Newtonsofts JSON Schema Validator-verktyg är ett verktyg som du kan använda direkt i din webbläsare utan kostnad. Du kan använda det här verktyget för att testa strukturen för ditt JSON-schema. Den här sidan innehåller kontroller och förklaringar för att komma igång. På så sätt är det lätt att se hur du kan förbättra din JSON-struktur.

Vi kan kontrollera vårt JSON-objekt med JSON Schema Validation Tool:

JSON Validator felfri

Vi har åldersvalidering (minst = 20 och max = 40) som visas i figuren ovan. Inga fel hittades.

JSON Validator med fel

Det visade ett fel om åldersvalideringen angavs felaktigt.

Skapandet av ett JSON-schema

Låt oss titta på ett exempel på JSON Schema för att se vad vi pratar om. Ett grundläggande JSON-objekt som beskriver en produktkatalog är följande:

JSON Exempel

Dess JSON-schema kan skrivas enligt följande:

Resultat för JSON-schema

Ett JSON-schema är ett JSON-dokument, och det dokumentet MÅSTE vara ett objekt. Nyckelord är objektmedlemmar/attribut specificerade av JSON Schema. "Sökord" i JSON Schema hänvisar till "nyckel"-delen av en nyckel/värdekombination i ett objekt. Att skriva ett JSON-schema innebär för det mesta att mappa ett visst "sökord" till ett värde i ett objekt. 

Låt oss ta en närmare titt på nyckelorden vi använde i vårt exempel: 

JSON-schemat som resursens schema följer skrivs ned av detta attribut. Detta schema är skrivet enligt utkasten v4-standarden, som specificeras av "$schema" nyckelord. Detta förhindrar att ditt schema faller tillbaka till den aktuella versionen, som kanske inte är kompatibel med äldre.

Den "rubricerade"Och"beskrivning” nyckelord är bara förklarande; de sätter inga begränsningar för de uppgifter som kontrolleras. Dessa två nyckelord beskriver schemats syfte: det beskriver en produkt.

Den "Typ” nyckelordet definierar vår JSON-datas första gränsvillkor; det måste vara ett JSON-objekt. Om vi ​​inte ställer in typ för alla scheman, skulle koden inte fungera. Några vanliga typer är "nummer", "booleskt", "heltal", "null", "objekt", "matris" "sträng".

 

JSON Schema stöds av följande bibliotek:

 

Språk

Bibliotek

C

WJElement

Python

jschon

PHP

Beskrivning Json Schema

JavaScript

ajv

Go

gojsonschema

Kotlin

Media-validator

Rubin

JSON Schemer

JSON (syntax)

Låt oss ta en kort titt på JSONs grundläggande syntax. JSON-syntax är en delmängd av JavaScript-syntax som innehåller följande element:

  • Namn/värdepar används som representerar data.
  • Objekt hålls i hängslen, och varje namn leds av ett ':' (kolon), med värdepar åtskilda av "," (komma).
  • Värden separeras med "," (komma) och matriser hålls inom hakparenteser.
JSON-syntaxexempel

Följande två datastrukturer stöds av JSON:

  • Ordnad värdelista: Det kan vara en array, en lista eller en vektor.
  • Samling av namn/värdepar: Olika datorspråk stöder denna datastruktur.

 

JSON (objekt)

Ett JSON-schema är ett JSON-objekt som beskriver typen och strukturen för ett annat JSON-objekt. Ett JavaScript-objektuttryck kan representera ett JSON-objekt i JavaScript-runtime-miljöer. Några exempel på giltiga schemaobjekt är följande:

Schema

Matcher

{}

något värde

{ typ: 'objekt' }

ett JavaScript-objekt

{ typ: 'nummer' }

ett JavaScript-nummer

{ typ: 'sträng'}

en JavaScript-sträng

T.ex:

Göra ett nytt objekt som är tomt:

var JSON_Obj = {};

Skapa nya objekt:

var JSON_Obj = nytt objekt()

JSON (Jämförelse med XML)

JSON och XML är språkoberoende format som kan läsas av människor. I verkliga scenarier kan de både skapa, läsa och avkoda. Baserat på följande kriterier kan vi jämföra JSON med XML.

Komplexitet

Eftersom XML är mer komplext än JSON, föredrar programmerare JSON.

Användning av Arrays

XML används för att uttrycka strukturerad data; XML stöder dock inte arrayer, men det gör JSON.

parsing

JSON tolkas med hjälp av JavaScripts eval-funktion. eval returnerar det beskrivna objektet när det används med JSON.

 

Exempelvis:

 

JSON

XML

{

   "företag": Ferrari,

   "namn": "GTS",

   "pris": 404000 XNUMX

}

 

 

Ferrari 

 

GTS 

 

404000 XNUMX 

 

JSON Schema fördelar

JSON är utformad för att avleda på ett språk som kan läsas av människor och i maskin. Men utan någon finjustering kan det inte vara någotdera. JSON Schema har fördelen att göra JSON mer förståeligt för både maskiner och människor.

Att använda JSON Schema tar också bort behovet av flera uppdateringar på klientsidan. Att göra en lista över vanliga HTML-koder och sedan implementera dem på klientsidan är en typisk men felaktig metod för att konstruera klientsidan API appar. Detta är dock inte den bästa strategin eftersom ändringar på serversidan kan orsaka att vissa funktioner inte fungerar.

Den största fördelen med JSON Schema är dess kompatibilitet med en mängd olika programmeringsspråk, samt noggrannheten och konsistensen av valideringen.

JSON-schema stöder ett brett utbud av webbläsare och operativsystem, därför tar appar skrivna i JSON inte mycket ansträngning för att göra dem alla webbläsarkompatibla. Under utvecklingen överväger utvecklare flera webbläsare, även om JSON redan har kapaciteten.

JSON är det mest effektiva sättet att dela data oavsett storlek, inklusive ljud, video och andra media. Detta beror på att JSON lagrar data i arrayer, vilket gör dataöverföring enklare. Som ett resultat är JSON det bästa filformatet för online-API:er och utveckling.

När API:er blir vanligare är det logiskt att anta att API-validering och testning kommer att bli allt viktigare. Det är också realistiskt att förvänta sig att JSON sannolikt inte kommer att bli mycket enklare med tiden. Detta innebär att att ha ett schema för dina data bara kommer att bli mer kritiskt med tiden. Eftersom JSON är standardfilformatet för att arbeta med API:er är JSON Schema ett bra substitut för de som arbetar med API:er.

Google och The Incognito Myth

Google och The Incognito Myth

Google och inkognitomyten Den 1 april 2024 gick Google med på att avgöra en rättegång genom att förstöra miljarder dataposter som samlats in från inkognitoläget.

Läs mer »