Guide til JSON-skema

JSON-skema

Før vi går ind i JSON Schema, er det vigtigt at kende forskellen mellem JSON og JSON Schema.

JSON

JSON er en forkortelse for JavaScript Object Notation, og det er et sproguafhængigt dataformat, som API'er bruger til at sende anmodninger og svar. JSON er enkel at læse og skrive for både mennesker og maskiner. JSON er et tekstbaseret format, der ikke er bundet til sprog (sproguafhængig).

JSON-skema

JSON Schema er et nyttigt værktøj til at verificere JSON datastruktur. Brug et JSON-baseret format for at angive strukturen af ​​JSON. Dens formål er at sikre, at JSON-data er acceptable. Konventionen for vores applikations JSON-data kan defineres ved hjælp af skema.

Der er tre hovedafsnit til JSON Schema-specifikationen:

JSON hyperskema:

JSON Hyper-Schema er et JSON Schema-sprog, der kan bruges til at mærke JSON-dokumenter med hyperlinks og instruktioner til behandling og ændring af eksterne JSON-ressourcer via tekstbaserede miljøer som HTTP. Klik link. for at lære mere om JSON Hyper-Schema.

JSON Schema Core:

Det er et sæt regler for mærkning og validering af JSON-dokumenter. 

JSON Schema Core:

  • Beskriver det dataformat, du har i øjeblikket. 
  • Validerer data, der kan bruges i automatiseret test. 
  • Sikring af nøjagtigheden af ​​data givet af kunder.  
  • Giver læsbar dokumentation for både mennesker og maskiner. 

JSON-skemavalidering:

Validering baseret på JSON-skema sætter grænser for strukturen af ​​instansdata. Efter det, alle søgeord, der ikke er hævd oplysninger, såsom beskrivende metadata og brugsindikationer, føjes til en instansposition, der opfylder alle deklarerede begrænsninger. 

Newtonsofts JSON Schema Validator-værktøj er et værktøj, du kan bruge direkte i din browser, gratis. Du kan bruge dette værktøj til at teste strukturen af ​​dit JSON-skema. Denne side indeholder kontroller og forklaringer til at komme i gang. På den måde er det nemt at se, hvordan du forbedrer din JSON-struktur.

Vi kan tjekke vores JSON-objekt ved hjælp af JSON Schema Validation Tool:

JSON Validator fejlfri

Vi har aldersvalidering (minimum = 20 og maksimum = 40) som vist i figuren ovenfor. Der blev ikke fundet fejl.

JSON Validator med fejl

Det viste en fejl, hvis aldersvalideringen blev indtastet forkert.

Oprettelse af et JSON-skema

Lad os se på et eksempel på JSON Schema for at se, hvad vi taler om. Et grundlæggende JSON-objekt, der beskriver et produktkatalog, er som følger:

JSON Eksempel

Dens JSON-skema kan skrives som følger:

JSON-skemaresultat

Et JSON-skema er et JSON-dokument, og det dokument SKAL være et objekt. Nøgleord er objektmedlemmer/attributter specificeret af JSON Schema. "Søgeord" i JSON-skema refererer til "nøgle"-delen af ​​en nøgle/værdi-kombination i et objekt. At skrive et JSON-skema involverer for det meste at kortlægge et bestemt "søgeord" til en værdi i et objekt. 

Lad os se nærmere på de søgeord, vi brugte i vores eksempel: 

Det JSON-skema, som ressourcens skema overholder, er skrevet ned af denne attribut. Dette skema er skrevet efter drafts v4-standarden, som specificeret af "$ skema” nøgleord. Dette forhindrer dit skema i at falde tilbage til den aktuelle version, som måske eller måske ikke er kompatibel med ældre.

Den "titel"Og"beskrivelse” nøgleord er blot forklarende; de pålægger ingen begrænsninger for de data, der kontrolleres. Disse to nøgleord beskriver skemaets formål: det beskriver et produkt.

Den "typen” nøgleordet definerer vores JSON-datas første grænsebetingelse; det skal være et JSON-objekt. Hvis vi ikke indstiller type for alle skemaer, ville koden ikke fungere. Nogle almindelige typer er "tal", "boolesk", "heltal", "nul", "objekt", "array" "streng".

 

JSON Schema understøttes af følgende biblioteker:

 

Sprog

Bibliotek

C

WJElement

Python

jschon

PHP

Beskrivelse Json Schema

JavaScript

AJV

Go

gojsonschema

Kotlin

Medie-validator

Rubin

JSON Schemer

JSON (syntaks)

Lad os tage et kort kig på JSONs grundlæggende syntaks. JSON-syntaks er en undergruppe af JavaScript-syntaks, der inkluderer følgende elementer:

  • Der bruges navne/værdipar, der repræsenterer data.
  • Objekter holdes i krøllede klammeparenteser, og hvert navn ledes af et ':' (kolon), med værdipar adskilt af "," (komma).
  • Værdier er adskilt af "," (komma), og arrays er holdt i firkantede parenteser.
Eksempel på JSON-syntaks

Følgende to datastrukturer understøttes af JSON:

  • Ordnet liste over værdier: Det kan være et array, en liste eller en vektor.
  • Samling af navn/værdipar: Forskellige computersprog understøtter denne datastruktur.

 

JSON (objekt)

Et JSON-skema er et JSON-objekt, der skitserer typen og strukturen af ​​et andet JSON-objekt. Et JavaScript-objektudtryk kan repræsentere et JSON-objekt i JavaScript-runtime-miljøer. Nogle eksempler på gyldige skemaobjekter er som følger:

Planlæg

Tændstikker

{}

enhver værdi

{ type: 'objekt' }

et JavaScript-objekt

{ type: 'nummer' }

et JavaScript-nummer

{ type: 'streng'}

en JavaScript-streng

F.eks:

Lav et nyt objekt, der er tomt:

var JSON_Obj = {};

Oprettelse af nyt objekt:

var JSON_Obj = nyt objekt()

JSON (Sammenligning med XML)

JSON og XML er sproguafhængige formater, der kan læses af mennesker. I scenarier i den virkelige verden kan de både oprette, læse og afkode. Baseret på følgende kriterier kan vi sammenligne JSON med XML.

Kompleksitet

Fordi XML er mere komplekst end JSON, foretrækker programmører JSON.

Brug af arrays

XML bruges til at udtrykke strukturerede data; XML understøtter dog ikke arrays, men det gør JSON.

parsing

JSON fortolkes ved hjælp af JavaScripts eval funktion. eval returnerer det beskrevne objekt, når det bruges med JSON.

 

Eksempel:

 

JSON

XML

{

   "virksomhed": Ferrari,

   "navn": "GTS",

   "pris": 404000

}

 

 

Ferrari 

 

GTS 

 

404000 

 

Fordele ved JSON Schema

JSON er designet til at aflede i et menneske- og maskinlæsbart sprog. Uden nogle finjusteringer kan det dog være hverken det ene eller det andet. JSON Schema har den fordel at gøre JSON mere forståelig for både maskiner og mennesker.

Brug af JSON Schema fjerner også behovet for adskillige opdateringer på klientsiden. At lave en liste over almindelige HTML-koder og derefter implementere dem på klientsiden er en typisk, men unøjagtig metode til at konstruere klientsiden API apps. Dette er dog ikke den bedste strategi, fordi ændringer på serversiden kan forårsage, at visse funktioner ikke fungerer.

Den største fordel ved JSON Schema er dens kompatibilitet med en række forskellige programmeringssprog, samt nøjagtigheden og konsistensen af ​​validering.

JSON-skema understøtter en lang række browsere og operativsystemer, derfor kræver apps skrevet i JSON ikke meget for at gøre dem alle browserkompatible. Under udvikling overvejer udviklere flere browsere, selvom JSON allerede har mulighederne.

JSON er den mest effektive måde at dele data af enhver størrelse, inklusive lyd, video og andre medier. Dette skyldes, at JSON gemmer data i arrays, hvilket gør datatransmission lettere. Som et resultat er JSON det bedste filformat til online API'er og udvikling.

Efterhånden som API'er bliver mere almindelige, er det logisk at antage, at API-validering og -test bliver stadig vigtigere. Det er også realistisk at forvente, at JSON sandsynligvis ikke bliver meget enklere, som tiden går. Dette indebærer, at det at have et skema til dine data kun bliver mere kritisk, som tiden går. Fordi JSON er standardfilformatet til at arbejde med API'er, er JSON Schema en god erstatning for dem, der arbejder med API'er.

Google og The Incognito Myth

Google og The Incognito Myth

Google og inkognitomyten Den 1. april 2024 indvilligede Google i at bilægge en retssag ved at ødelægge milliarder af dataregistreringer indsamlet fra inkognitotilstand.

Læs mere »