Veiledning til JSON-skjema

JSON -skjema

Før vi går inn i JSON Schema, er det viktig å vite forskjellen mellom JSON og JSON Schema.

JSON

JSON er forkortelse for JavaScript Object Notation, og det er et språkuavhengig dataformat som APIer bruker til å sende forespørsler og svar. JSON er enkel å lese og skrive for både mennesker og maskiner. JSON er et tekstbasert format som ikke er bundet til språk (språkuavhengig).

JSON -skjema

JSON Schema er et nyttig verktøy for å verifisere JSON-datastruktur. For å spesifisere strukturen til JSON, bruk et JSON-basert format. Formålet er å sikre at JSON-data er akseptable. Konvensjonen for vår applikasjons JSON-data kan defineres ved hjelp av skjema.

Det er tre hovedseksjoner til JSON Schema-spesifikasjonen:

JSON hyperskjema:

JSON Hyper-Schema er et JSON Schema-språk som kan brukes til å merke JSON-dokumenter med hyperkoblinger og instruksjoner for behandling og endring av eksterne JSON-ressurser via tekstbaserte miljøer som HTTP. Klikk her. for å lære mer om JSON Hyper-Schema.

JSON Schema Core:

Det er et sett med regler for merking og validering av JSON-dokumenter. 

JSON Schema Core:

  • Beskriver dataformatet du har for øyeblikket. 
  • Validerer data som kan brukes i automatisert testing. 
  • Sikre nøyaktigheten av data gitt av klienter.  
  • Gir lesbar dokumentasjon for både mennesker og maskiner. 

JSON-skjemavalidering:

Validering basert på JSON-skjema setter begrensninger på strukturen til instansdata. Etter det, eventuelle søkeord som ikke har hevd informasjon, for eksempel beskrivende metadata og bruksindikasjoner, legges til en forekomstposisjon som oppfyller alle deklarerte begrensninger. 

Newtonsofts JSON Schema Validator-verktøy er et verktøy du kan bruke direkte i nettleseren din, gratis. Du kan bruke dette verktøyet til å teste strukturen til JSON-skjemaet ditt. Denne siden inneholder kontroller og forklaringer for å komme i gang. På den måten er det lett å se hvordan du kan forbedre JSON-strukturen din.

Vi kan sjekke JSON-objektet vårt ved å bruke JSON Schema Validation Tool:

JSON Validator feilfri

Vi har aldersvalidering (minimum = 20 og maksimum = 40) som vist i figuren over. Det ble ikke funnet noen feil.

JSON-validator med feil

Det viste en feil hvis aldersvalideringen ble angitt feil.

Opprettelsen av et JSON-skjema

La oss se på et eksempel på JSON Schema for å se hva vi snakker om. Et grunnleggende JSON-objekt som beskriver en produktkatalog er som følger:

JSON Eksempel

JSON-skjemaet kan skrives som følger:

JSON-skjemaresultat

Et JSON-skjema er et JSON-dokument, og det dokumentet MÅ være et objekt. Nøkkelord er objektmedlemmer/attributter spesifisert av JSON Schema. "Søkeord" i JSON-skjema refererer til "nøkkel"-delen av en nøkkel/verdi-kombinasjon i et objekt. Å skrive et JSON-skjema innebærer for det meste å kartlegge et bestemt "søkeord" til en verdi i et objekt. 

La oss se nærmere på søkeordene vi brukte i vårt eksempel: 

JSON-skjemaet som ressursens skjema overholder, er skrevet ned av dette attributtet. Dette skjemaet er skrevet etter utkastene v4-standarden, som spesifisert av "$ skjema" nøkkelord. Dette forhindrer at skjemaet ditt faller tilbake til den gjeldende versjonen, som kanskje ikke er kompatibel med eldre.

Den "tittel"Og"beskrivelse" nøkkelord er bare forklarende; de legger ingen begrensninger på dataene som kontrolleres. Disse to nøkkelordene beskriver skjemaets formål: det beskriver et produkt.

Den "typen” nøkkelord definerer JSON-dataenes første grensebetingelse; det må være et JSON-objekt. Hvis vi ikke angir type for alle skjemaer, ville ikke koden fungere. Noen vanlige typer er "tall" "boolsk" "heltall" "null" "objekt" "matrise" "streng".

 

JSON Schema støttes av følgende biblioteker:

 

Språk

Bibliotek

C

WJElement

Python

jschon

PHP

Beskrivelse Json Schema

Javascript

ajv

Go

gojsonschema

Kotlin

Media-validator

Rubin

JSONSchemer

JSON (syntaks)

La oss ta en kort titt på JSONs grunnleggende syntaks. JSON-syntaks er et undersett av JavaScript-syntaks som inkluderer følgende elementer:

  • Det brukes navn/verdi-par som representerer data.
  • Objekter holdes i krøllete klammeparenteser, og hvert navn ledes av et ':' (kolon), med verdipar atskilt med "," (komma).
  • Verdier er atskilt med "," (komma) og matriser holdes i hakeparenteser.
Eksempel på JSON-syntaks

Følgende to datastrukturer støttes av JSON:

  • Ordnet liste over verdier: Det kan være en matrise, en liste eller en vektor.
  • Samling av navn/verdipar: Ulike datamaskinspråk støtter denne datastrukturen.

 

JSON (objekt)

Et JSON-skjema er et JSON-objekt som skisserer typen og strukturen til et annet JSON-objekt. Et JavaScript-objektuttrykk kan representere et JSON-objekt i JavaScript-runtime-miljøer. Noen eksempler på gyldige skjemaobjekter er som følger:

Skjema

Fyrstikker

{}

noen verdi

{ type: 'objekt' }

et JavaScript-objekt

{ type: 'nummer' }

et JavaScript-nummer

{ type: 'streng'}

en JavaScript-streng

Eg:

Lage et nytt objekt som er tomt:

var JSON_Obj = {};

Oppretting av nytt objekt:

var JSON_Obj = nytt objekt()

JSON (sammenligning med XML)

JSON og XML er språkuavhengige formater som kan leses av mennesker. I virkelige scenarier kan de både lage, lese og dekode. Basert på følgende kriterier kan vi sammenligne JSON med XML.

kompleksitet

Fordi XML er mer komplekst enn JSON, foretrekker programmerere JSON.

Bruk av Arrays

XML brukes til å uttrykke strukturerte data; XML støtter imidlertid ikke arrays, men JSON gjør det.

parsing

JSON tolkes ved hjelp av JavaScripts eval-funksjon. eval returnerer det beskrevne objektet når det brukes med JSON.

 

Eksempel:

 

JSON

XML

{

   "selskap": Ferrari,

   "navn": "GTS",

   "pris": 404000

}

 

 

Ferrari 

 

GTS 

 

404000 XNUMX 

 

Fordeler med JSON-skjema

JSON er designet for å avlede på et språk som kan leses av mennesker og maskin. Men uten noen finjusteringer kan det ikke være noen av delene. JSON Schema har fordelen av å gjøre JSON mer forståelig for både maskiner og mennesker.

Bruk av JSON Schema fjerner også behovet for flere oppdateringer på klientsiden. Å lage en liste over vanlige HTML-koder og deretter implementere dem på klientsiden er en typisk, men unøyaktig metode for å konstruere klientsiden API apper. Dette er imidlertid ikke den beste strategien fordi endringer på serversiden kan føre til at visse funksjoner ikke fungerer.

Den største fordelen med JSON Schema er dens kompatibilitet med en rekke programmeringsspråk, samt nøyaktigheten og konsistensen av validering.

JSON-skjema støtter et bredt spekter av nettlesere og operativsystemer, derfor krever ikke apper skrevet i JSON mye innsats for å gjøre dem alle nettleserkompatible. Under utvikling vurderer utviklere flere nettlesere, selv om JSON allerede har mulighetene.

JSON er den mest effektive måten å dele data på, uansett størrelse, inkludert lyd, video og andre medier. Dette skyldes at JSON lagrer data i arrays, noe som gjør dataoverføring enklere. Som et resultat er JSON det beste filformatet for online APIer og utvikling.

Etter hvert som APIer blir mer vanlige, er det logisk å anta at API-validering og -testing vil bli stadig viktigere. Det er også realistisk å forvente at JSON sannsynligvis ikke blir mye enklere etter hvert som tiden går. Dette innebærer at det å ha et skjema for dataene dine bare kommer til å bli mer kritisk etter hvert som tiden går. Fordi JSON er standard filformat for arbeid med APIer, er JSON Schema en god erstatning for de som jobber med APIer.

Omgå TOR-sensur

Omgå internettsensur med TOR

Omgå Internett-sensur med TOR Introduksjon I en verden der tilgang til informasjon blir stadig mer regulert, har verktøy som Tor-nettverket blitt avgjørende for

Les mer »