Hoppa till innehåll
100% lokalt

JSON Schema validator

Kontrollera ett JSON-dokument mot ett JSON-schema och få en läsbar, rad för rad felrapport.

Inmatning
JSON-schema
Utmatning

JSON Schema validator

Klistra in ett JSON-dokument på ena sidan och ett JSON-schema på den andra, och det här verktyget talar om för dig om dokumentet matchar — och om det inte gör det, exakt var och varför. Varje problem rapporteras som en rad med JSON Pointer-sökvägen till det felande värdet, schemanyckelordet som misslyckades och det faktiska värdet som finns där, så att du kan hoppa direkt till åtgärden istället för att leta igenom en stor nyttolast för hand.

Validatorn täcker den vardagliga kärnan i JSON Schema draft-07: "typ" (inklusive unionsmatriser som ["string","null"] för nullbara fält), "required" och "properties", "additionalProperties" som antingen ett booleskt eller eget schema, "items" för både list- och tupelvalidering "minItems"/"maxItems"/"uniqueItems", de numeriska nyckelorden "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", strängen nyckelord "minLength"/"maxLength"/"pattern", "enum" och "comstators", "anyOf"/"allOf"/"oneOf"/"inte". Den löser också "$ref"-pekare till ett schemas egen "#/definitions" eller "#/$defs"-sektion — praktiskt för scheman som tar ut en delad objektform — och upptäcker en "$ref" som loopar tillbaka på sig själv istället för att frysa sidan.

Det här är en validator, inte en schemadriven formulärbyggare: den hämtar inte ett schema från en URL eller ett "$id", och det kommer det aldrig att göra, eftersom det skulle innebära att du skickar din data eller din schemadefinition från din enhet. Alla "$ref" som pekar utanför dokumentet rapporteras som ostödda snarare än ignoreras tyst, så att du alltid vet exakt vad som var och inte kontrollerades.

Allt körs lokalt i din webbläsare — JSON-dokumentet och schemat analyseras och kontrolleras på din enhet och laddas aldrig upp någonstans, vilket gör det här säkert att använda med API-nyttolaster, konfigurationsfiler eller någon annan JSON som innehåller data som du helst inte klistrar in på en slumpmässig webbplats.

FAQ

Vilket JSON Schema draft stöder detta?
En praktisk delmängd av draft-07: typ (inklusive unions- och nollmatriser), obligatoriska, egenskaper, additionalProperties, items, minItems/maxItems/uniqueItems, de numeriska och stränggränsande nyckelorden, enum/const, anyOf/allOf/oneOf/not, och lokala $/ref-pekare i "#/$definitions" eller "#/$".
Kan den följa en $ref till en annan fil eller URL?
Nej. Endast lokala pekare till samma schemas egna "#/definitions" eller "#/$defs" löses. En $ref som pekar någon annanstans rapporteras som ostödd snarare än hämtad, eftersom att hämta ett fjärrschema skulle innebära att data skickas från din enhet.
Vad händer om mitt schema har en cirkulär $ref?
Det upptäcks och rapporteras som ett "$ref"-fel istället för att frysa fliken — valideraren håller reda på referenserna den följer för närvarande och stoppar så snart en upprepas.
Hur rapporteras varje fel?
En rad per problem, med JSON Pointer-sökvägen till värdet (som "/user/age"), schemanyckelordet som misslyckades (som "minimum" eller "required") och det faktiska värdet som hittades där.
Laddas mitt JSON-dokument och mitt schema upp någonstans?
Nej. Validering körs helt och hållet i din webbläsare med den inbyggda JSON-parsern – varken data eller schema lämnar din enhet någonsin, och inget schema hämtas någonsin från nätverket.