JSON Schema валидатор
Валидирајте JSON документ според JSON Schema во прелистувачот. Секоја грешка е наведена со патека на инстанцата, клучен збор и патека во шемата.
| # | Патека на инстанцата | Клучен збор | Порака | Патека во шемата |
|---|
Како да валидирате JSON според шема
- Залепете ја вашата шема во JSON Schema и вашите податоци во JSON документ или изберете готов случај од Пример.
- Оставете Верзија (draft) на Автоматски ($schema) за да се користи верзијата именувана во
$schemaна шемата, или наметнете draft 4, 7, 2019-09 или 2020-12. - Валидацијата се извршува додека пишувате; Валидирај ја извршува повторно. Форматирај ги двете ги вовлекува двата текста одново.
- Прочитајте го резултатот: зелен ред кога документот е валиден, во спротивно табела со грешки.
Читање на табелата со грешки
Секој ред е едно неисполнето правило:
- Патека на инстанцата е JSON Pointer до вредноста што не поминала.
/roles/1е втората ставка одroles;(корен)е целиот документ. - Клучен збор е правилото од шемата што не поминало:
type,required,minimum,pattern,format,additionalPropertiesи така натаму. - Порака ја објаснува грешката, на пример
0 is less than 1. - Патека во шемата укажува на клучниот збор во шемата, како
/properties/id/minimum, за брзо да го најдете правилото.
Валидацијата не запира на првиот проблем: се наведуваат сите грешки. Кога својство на објект не успее, валидаторот пријавува резиме („Property “id” does not match schema“) проследено со прецизната причина. Прикажи само најспецифични грешки ги крие тие резимеа; исклучете го за да го видите целиот синџир. Грешките под anyOf и oneOf секогаш се чуваат заедно со специфичните грешки на секоја гранка, бидејќи имаат смисла само заедно.
Што е поддржано
- Верзии (drafts): 4, 6 (валидирани со правилата на draft 7), 7, 2019-09 и 2020-12, вклучувајќи
$defs/definitions, локален$ref,if/then/else,dependentRequired,dependentSchemas,prefixItems,unevaluatedPropertiesиunevaluatedItems. - Формати: се проверуваат
date,time,date-time,duration,email,hostname,ipv4,ipv6,uri,uri-reference,uri-template,uuid,regex,json-pointerиrelative-json-pointer. Непознатите формати се игнорираат, како што дозволува спецификацијата. - Референци:
$refможе да укажува каде било во шемата, вклучително на$idшто го декларира. Оддалечените шеми никогаш не се преземаат; референца до друг URL се пријавува како нерешена.
Оваа алатка валидира документи според вашата шема. Не проверува дали самата шема ја следи мета-шемата, но предупредува за непознати имиња на type како "strin" или "int", честа грешка во пишувањето што валидаторите инаку тивко ја игнорираат.
Примерите
- Кориснички профил (2020-12):
required, должини на низи,format: email,enumвоitems,uniqueItemsиadditionalProperties: false. - Список на производи со $ref (draft-07): низа чии ставки упатуваат на
#/definitions/product, соpatternза SKU и цена соexclusiveMinimum. - Конфигурација со if/then (2019-09): сертификат потребен само во HTTPS режим,
oneOfмеѓу е-пошта и URI и бројни граници.
Секој пример доаѓа со документ што содржи намерни грешки, за да видите како изгледаат грешките.
Јазик на пораките
Пораките за грешки од валидаторот се на англиски јазик.
Често поставувани прашања
Дали моите податоци се качуваат?
Не. Шемата и документот се валидираат во вашиот прелистувач; ништо не се испраќа на сервер.
Зошто `$ref` во мојата шема е „нерешен“?
Валидаторот ја познава само шемата што сте ја залепиле. $ref до друга датотека или URL не може да се следи; копирајте ги референцираните дефиниции во $defs и упатувајте на #/$defs/….
Која верзија (draft) да ја користам?
Користете ја онаа што ја таргетира вашиот проект и декларирајте ја со $schema. За нови шеми, 2020-12 е тековната верзија; ја користи и OpenAPI 3.1.
Зошто integer го одбива 2.0?
Не го одбива: JSON Schema го третира 2.0 како цел број бидејќи неговата вредност е цела. 2.5 не поминува "type": "integer".
Дали работи без интернет?
Да. Откако страницата ќе се вчита и ќе извршите прва валидација (која го вчитува валидаторот), не е потребна врска.
Поврзани алатки
- JSON форматер и валидатор Бесплатен JSON форматер и валидатор што улепшува, минифицира и проверува JSON во прелистувачот, со синтаксни грешки пријавени по ред и колона.
- JSONPath тестер Тестирајте JSONPath изрази врз вашиот JSON во прелистувачот. Филтри, исечоци, рекурзивно спуштање, патеки и JSON Pointers, со готови примери.
- JSON во YAML претворач Претворете JSON во YAML и YAML во JSON во прелистувачот, со поддршка за анкери, merge клучеви и датотеки со повеќе документи. Ништо не се качува.