Pular para o conteúdo
SDETRole
SDETRole

JSON e dados

Validador JSON

Verifique a sintaxe JSON e encontre a localização exata do erro.

Roda inteiramente no seu navegador Sem cadastro

Input JSON

0 chars

Sobre esta ferramenta

Um erro de sintaxe em um arquivo de fixture ou em um body de requisição é uma das causas mais comuns de falhas de teste confusas. Este validador verifica o JSON segundo o padrão estrito e informa o primeiro erro com linha e coluna, além de um resumo da estrutura do documento (objetos, arrays, chaves e profundidade) quando ele é válido. Para validar o formato dos dados, e não a sintaxe, use o Validador de JSON Schema.

Como usar

  1. Cole o JSON que quer verificar.
  2. Veja o banner de resultado: verde significa válido, vermelho mostra a mensagem de erro e a localização.
  3. Corrija o ponto indicado e o resultado é atualizado enquanto você digita.

O que conta como JSON válido

O validador aplica a gramática estrita da RFC 8259, as mesmas regras que JSON.parse usa. Um documento é um único valor: um objeto, um array, uma string, um número, true, false ou null. Um "hello" ou 42 isolado é, portanto, JSON válido, mesmo que a maioria das APIs retorne um objeto.

Chaves duplicadas são uma armadilha comum. O padrão diz que os nomes de um objeto DEVERIAM ser únicos, mas não proíbe repetições, e JSON.parse mantém silenciosamente o último valor. Uma checagem de sintaxe não vai acusar {"id": 1, "id": 2}, então fique atento a duplicatas no code review ou com um linter.

Como ler a mensagem de erro

Cada navegador redige os erros de parse de um jeito. O Chrome mostra mensagens como “Unexpected token” ou “Expected property name” com uma posição, e o Firefox dá linha e coluna. Em todos os casos, a localização é onde o parser desistiu, que geralmente fica logo depois do erro real: uma vírgula faltando, aspas não fechadas ou um colchete solto na linha anterior.

Validando JSON em testes automatizados

  • Playwright: await response.json() lança erro quando o body não é JSON válido, então o teste falha nessa linha. Verifique também response.headers()['content-type'], porque um servidor pode enviar texto JSON rotulado como HTML.
  • REST Assured: valide .contentType(ContentType.JSON) e depois verifique a estrutura com matchesJsonSchemaInClasspath("order-schema.json") do módulo json-schema-validator.
  • Postman: pm.response.json() lança erro com JSON inválido, e pm.response.to.be.json valida o content type.
  • Para formato e tipos (campos obrigatórios, formatos, enums), passe para o Validador de JSON Schema. A validação de sintaxe só prova que o texto pode ser interpretado.

Perguntas frequentes: Validador JSON

Qual a diferença entre validação JSON e validação por schema?

A validação de sintaxe verifica se o texto é JSON bem formado. A validação por schema verifica se o JSON bem formado tem os campos, tipos e restrições esperados, como “id é um inteiro obrigatório”.

Por que o erro aponta para depois do erro real?

Os parsers informam onde não conseguiram mais continuar. Uma vírgula ou aspas faltando geralmente estão logo antes da posição informada.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →