Ir para o conteúdo
Totalmente local

Validador de esquema JSON

Compare um documento JSON com um esquema JSON e obtenha um relatório de erro legível linha por linha.

Entrada
Esquema JSON
Saída

Validador de esquema JSON

Cole um documento JSON de um lado e um esquema JSON do outro, e esta ferramenta informa se o documento corresponde – e se não corresponder, exatamente onde e por quê. Cada problema é relatado como uma linha com o caminho do ponteiro JSON para o valor incorreto, a palavra-chave do esquema que falhou e o valor real encontrado lá, para que você possa ir direto para a correção em vez de procurar manualmente uma grande carga útil.

O validador cobre o núcleo diário do esquema JSON draft-07: "type" (incluindo matrizes de união como ["string","null"] para campos anuláveis), "required" e "properties", "additionalProperties" como um booleano ou seu próprio esquema, "items" para validação de lista e tupla, "minItems"/"maxItems"/"uniqueItems", as palavras-chave numéricas "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", as palavras-chave de string "minLength"/"maxLength"/"pattern", "enum" e "const" e os combinadores "anyOf"/"allOf"/"oneOf"/"not". Ele também resolve ponteiros "$ref" para a seção "#/definitions" ou "#/$defs" do próprio esquema - útil para esquemas que fatoram um formato de objeto compartilhado - e detecta um "$ref" que retorna a si mesmo em vez de congelar a página.

Este é um validador, não um construtor de formulários baseado em esquema: ele não busca um esquema de uma URL ou de um "$id", e nunca o fará, porque isso significaria enviar seus dados ou definição de esquema para fora do seu dispositivo. Qualquer "$ref" apontando para fora do documento é relatado como não suportado, em vez de ignorado silenciosamente, para que você sempre saiba exatamente o que foi ou não verificado.

Tudo é executado localmente em seu navegador – o documento JSON e o esquema são analisados e verificados em seu dispositivo e nunca carregados em qualquer lugar, o que torna seguro para uso com cargas de API, arquivos de configuração ou qualquer outro JSON que inclua dados que você prefere não colar em um site aleatório.

FAQ

Qual rascunho do esquema JSON é compatível?
Um subconjunto prático do draft-07: tipo (incluindo matrizes de união e anuláveis), obrigatório, propriedades, propriedades adicionais, itens, minItems/maxItems/uniqueItems, as palavras-chave numéricas e de limites de string, enum/const, anyOf/allOf/oneOf/not e ponteiros $ref locais para "#/definitions" ou "#/$defs".
Pode seguir um $ref para outro arquivo ou URL?
Não. Somente ponteiros locais para "#/definitions" ou "#/$defs" do próprio esquema são resolvidos. Um $ref apontando para qualquer outro lugar é relatado como não suportado em vez de buscado, já que buscar um esquema remoto significaria enviar dados do seu dispositivo.
O que acontece se meu esquema tiver um $ref circular?
Ele é detectado e relatado como um erro "$ref" em vez de congelar a guia — o validador rastreia as referências que está seguindo no momento e para assim que uma delas se repete.
Como cada erro é relatado?
Uma linha por problema, com o caminho do ponteiro JSON para o valor (como "/usuário/idade"), a palavra-chave do esquema que falhou (como "mínimo" ou "obrigatório") e o valor real encontrado lá.
Meu documento JSON e esquema são carregados em algum lugar?
A validação é executada inteiramente no seu navegador usando o analisador JSON integrado — nem os dados nem o esquema saem do seu dispositivo e nenhum esquema é buscado na rede.