Grátis · Rápido · Privado

Como validar JSON em JavaScript com JSON.parse

Em JavaScript, a forma padrão de validar JSON é chamar JSON.parse dentro de um bloco try/catch.

Faz a mesma checagem do JSON.parse sem escrever código

🔒

Mostra a posição e o motivo do primeiro erro de sintaxe

Ideal para conferir JSON antes de colocá-lo no seu código

Roda 100% no navegador, sem enviar o JSON para servidores

Custo
Faixa gratuita
Cadastro
Não necessário
Processamento
Depende da ferramenta
Privacidade
Método informado
IframeResponsivoAtribuição incluída

Adicione Validador de JSON ao seu site

Coloque Validador de JSON em um post, documentação, intranet ou portal escolar com um iframe. O processamento, a privacidade e os limites são os mesmos da página completa.

  • Uma linha de HTML pronta para copiar
  • Responsivo — adapta-se a qualquer largura
  • O código não inclui credenciais de API

Código de incorporação

<iframe
  src="https://www.fixtools.io/json/json-validator?embed=1&lang=pt"
  width="100%"
  height="780"
  frameborder="0"
  style="border:0;border-radius:16px;max-width:900px;"
  title="Validador de JSON by FixTools"
  loading="lazy"
  allow="clipboard-write"
></iframe>

Atribuição amigável: um pequeno link "Powered by FixTools" aparece no rodapé do embed.

Validar JSON em JavaScript: JSON.parse e try/catch

Em JavaScript, JSON.parse recebe uma string e devolve o valor correspondente, seja um objeto, um array, um número, um booleano ou null. Quando a string não respeita a gramática do JSON, o método não retorna nada útil: ele lança um SyntaxError. Por isso, a maneira segura de usar JSON.parse com dados que você não controla é envolver a chamada em um bloco try/catch. No try, você tenta o parse; no catch, você trata a falha, registrando o erro, aplicando um valor padrão ou avisando o usuário. Sem esse tratamento, uma única string malformada, vinda de uma API, de um arquivo ou de um input, interrompe a execução e pode derrubar toda a rotina. Essa é a base da validação de JSON na linguagem.

O padrão clássico é simples: dentro do try, você escreve const dados = JSON.parse(texto); e, no catch, você recebe o objeto de erro. A propriedade message desse erro costuma indicar o tipo de problema e a posição aproximada, algo como token inesperado em determinada posição. Esse detalhe é valioso porque aponta onde o parser desistiu. A ferramenta desta página reproduz esse comportamento sem que você precise criar um arquivo, abrir um console ou rodar Node. Você cola o texto e recebe o mesmo veredito: válido ou inválido, com a posição e o motivo. Para quem está depurando rápido ou não quer poluir o projeto com scripts temporários de teste, colar o JSON aqui é mais direto do que montar um try/catch só para checar a sintaxe.

As regras que fazem o JSON.parse falhar são as mesmas que a ferramenta verifica. Chaves de objeto precisam estar entre aspas duplas, o que surpreende quem está acostumado com objetos literais de JavaScript, onde as aspas são opcionais e as aspas simples funcionam. No JSON, aspas simples invalidam o documento. Vírgulas separam os itens, mas a vírgula final, tolerada em muitos lugares do JavaScript moderno, quebra o parse. Valores como undefined, funções, NaN e Infinity não existem no JSON e não podem aparecer no texto. Comentários também não são permitidos. Confundir a sintaxe flexível de um objeto JavaScript com a sintaxe estrita do JSON é uma das causas mais comuns de erro, e a ferramenta deixa esse limite visível ao apontar exatamente onde a regra foi quebrada.

Assim como o JSON.parse, a ferramenta para no primeiro erro. Ela relata a posição do caractere e o motivo, e só revela o próximo problema depois que você corrige o atual e valida de novo. Esse comportamento em etapas espelha o que aconteceria no seu código em execução. Todo o processamento ocorre localmente no navegador: o JSON que você cola ou o arquivo que carrega não sobe para nenhum servidor, não é armazenado e não passa por serviços externos. Isso é importante quando o texto contém tokens, dados de clientes ou configurações internas. Como não há ida e volta pela rede, a resposta é imediata, sem limite de uso. A ferramenta é gratuita, não pede cadastro e não adiciona marca d'água ao resultado da validação.

Vale ser claro sobre os papéis. A ferramenta aponta e explica o erro, mas quem edita o JSON é você, exatamente como faria depois de ler a mensagem do catch no seu próprio código. Ela não substitui o try/catch da aplicação, que continua necessário para tratar dados dinâmicos em runtime. O que ela oferece é um atalho para o momento de investigação: conferir um exemplo, validar um payload copiado ou entender por que uma string específica falha, tudo sem escrever código. A documentação do JSON.parse na MDN descreve o comportamento do método, os erros que ele lança e os detalhes de parsing, e vale como referência sempre que você precisar tratar JSON em JavaScript de forma robusta e previsível em qualquer ambiente.

Como usar esta ferramenta

💡

Cole o seu JSON no validador acima para ver, sem escrever código, se ele passaria no JSON.parse, com a posição e o motivo de qualquer erro.

Como Funciona

Guia passo a passo para como validar json em javascript com json.parse:

  1. 1

    Entenda o que o JSON.parse faz

    Em JavaScript, JSON.parse converte um texto em objeto e lança uma exceção quando o formato é inválido. Envolver a chamada em try/catch permite capturar esse erro e tratar o caso sem derrubar a aplicação inteira.

  2. 2

    Cole o JSON na ferramenta

    Em vez de escrever um script só para testar, cole o texto no validador ou carregue um arquivo .json. O conteúdo fica no seu navegador durante toda a análise e não é enviado para nenhum servidor externo.

  3. 3

    Rode a verificação

    Execute a validação para que a ferramenta aplique as mesmas regras do JSON.parse: aspas duplas, vírgulas corretas, chaves e colchetes equilibrados. Se o texto passaria no parse, ela confirma que o JSON é válido.

  4. 4

    Leia o erro como no catch

    Quando há problema, a ferramenta mostra a posição e o motivo, a mesma informação que você veria na mensagem da exceção dentro do catch. Use isso para localizar e ajustar o trecho no seu editor.

  5. 5

    Corrija e leve para o código

    Ajuste o JSON até a verificação confirmar que está válido. Só então coloque o conteúdo no seu código ou arquivo, com a certeza de que o JSON.parse da sua aplicação não vai lançar exceção sobre ele.

Exemplos do mundo real

Situações comuns em que essa abordagem faz diferença real:

Testar um JSON sem criar um script

Você quer saber se uma string passaria no JSON.parse, mas não quer abrir o console nem criar um arquivo de teste. Cole o texto na ferramenta e receba o mesmo veredito na hora, com a posição do erro caso ele exista.

Entender uma exceção de parse em produção

Um log mostra que o JSON.parse lançou SyntaxError sobre um payload específico. Cole esse payload na ferramenta para ver a posição e o motivo exatos do problema, reproduzindo o que o seu código enfrentou sem rodar a aplicação de novo.

Validar um arquivo de configuração antes do deploy

Antes de subir uma alteração, confira um arquivo de configuração JSON que será lido por JSON.parse durante o build. A ferramenta aponta a vírgula final ou a aspa simples que quebraria o parse e travaria o deploy.

Dicas profissionais

Obtenha melhores resultados com estas sugestões de especialistas:

1

Não confunda objeto JS com JSON

Objetos literais de JavaScript aceitam aspas simples, chaves sem aspas e vírgula final. O JSON não aceita nada disso. Se você copiou um objeto do código, ajuste-o para a sintaxe estrita antes de esperar que o JSON.parse o aceite sem erro.

2

Guarde o try/catch para o runtime

A ferramenta é ótima para investigar durante o desenvolvimento, mas não dispensa o try/catch no código. Dados que chegam em tempo de execução, de APIs ou de inputs, continuam exigindo tratamento de erro para que uma string inválida não derrube a aplicação.

3

Leia a posição do erro como no catch

A posição que a ferramenta mostra corresponde ao ponto onde o parser desistiria, a mesma ideia da mensagem do SyntaxError. Use esse número para navegar direto ao caractere problemático no seu editor em vez de reler o documento inteiro.

FAQ

Perguntas frequentes

Não. A validação acontece localmente no seu navegador. O texto que você cola ou o arquivo .json que carrega não sobe para nenhum servidor, não é armazenado e não passa por terceiros. Você pode testar payloads com tokens ou dados internos com segurança. A ferramenta é gratuita.
Sim. Ela aplica as mesmas regras de sintaxe do JSON.parse e para no primeiro erro, mostrando a posição e o motivo, como você veria na mensagem do SyntaxError. A diferença é que você não precisa escrever, abrir o console nem rodar código para obter o resultado.
Sim. A ferramenta ajuda na investigação durante o desenvolvimento, mas não substitui o try/catch em runtime. Dados que chegam de APIs ou de inputs precisam desse tratamento para que uma string malformada não lance uma exceção não capturada e derrube a sua aplicação.
Porque o JSON é mais estrito. Aspas simples, chaves sem aspas, vírgula final, undefined e comentários são aceitos em objetos JavaScript, mas invalidam o JSON. A ferramenta aponta exatamente qual dessas regras foi quebrada e onde, para você ajustar o texto.
Sim. Cole o payload exato que o seu código tentou analisar e a ferramenta mostra a posição e o motivo do primeiro erro, reproduzindo o que o JSON.parse enfrentou. Assim você entende a causa sem precisar rodar a aplicação inteira de novo.
Não. Ela aponta e explica o erro, mas a edição fica com você, exatamente como aconteceria depois de ler a mensagem do catch no seu código. Corrigir automaticamente poderia mudar o significado dos dados e mascarar o problema real que você precisa entender.
Não. A ferramenta roda direto no navegador, sem instalação, sem extensão e sem cadastro. Basta colar o JSON ou carregar o arquivo e executar a verificação. Não há marca d'água no resultado nem limite de uso para as suas validações de sintaxe.

Pronto para começar?

Abra Validador de JSON para revisar os limites gratuitos e o método de processamento.

Abrir Validador de JSON →

Faixa gratuita · Sem conta · Limites transparentes