Como validar JSON online: guia para desenvolvedores com exemplos praticos

8 min de leitura

Aprenda a validar, formatar e depurar JSON facilmente. Erros comuns, diferencas com XML, melhores praticas e ferramenta online gratuita.

O que e JSON e por que voce precisa valida-lo

JSON (JavaScript Object Notation) e o formato de troca de dados mais utilizado no desenvolvimento web moderno. Praticamente todas as APIs REST retornam dados em JSON, configuracoes de ferramentas como package.json ou tsconfig.json usam este formato, e bancos de dados como MongoDB armazenam documentos em formato JSON.

O problema e que um unico caractere fora do lugar (uma virgula a mais, uma aspa faltante, um colchete sem fechar) torna todo o JSON invalido e causa erros na sua aplicacao. Um JSON invalido numa resposta de API pode quebrar o frontend. Um tsconfig.json com erro de sintaxe impede o TypeScript de compilar.

Validar o JSON antes de usa-lo evita horas de depuracao. Com o validador JSON da NexTools, voce pode colar qualquer JSON, ver erros com a linha exata onde ocorrem, e obter o formato embelezado automaticamente.

Sintaxe basica do JSON: regras que voce deve conhecer

JSON tem regras de sintaxe rigorosas. Violar qualquer uma delas produz JSON invalido:

  • As chaves devem estar entre aspas duplas: {"nome": "Ana"} e valido. {nome: "Ana"} NAO e.
  • Strings usam aspas duplas, nunca simples: "valor" e valido. 'valor' NAO e.
  • Nao sao permitidas virgulas finais: {"a": 1, "b": 2} e valido. {"a": 1, "b": 2,} NAO e.
  • Nao sao permitidos comentarios: Voce nao pode usar // nem /* */ dentro de JSON.
  • Numeros nao levam aspas: {"idade": 25} e valido. {"idade": "25"} funciona mas o valor e uma string, nao um numero.

Tipos de dados permitidos em JSON:

TipoExemploObservacoes
String"ola mundo"Sempre aspas duplas
Number42, 3.14, -7Inteiros ou decimais, sem aspas
Booleantrue, falseMinusculas, sem aspas
NullnullMinusculas, sem aspas
Array[1, 2, 3]Valores separados por virgulas
Object{"chave": "valor"}Pares chave-valor

Os 10 erros mais comuns em JSON

Estes sao os erros que voce encontra com mais frequencia ao trabalhar com JSON:

  1. Virgula no final do ultimo elemento:
    {"items": [1, 2, 3,]} — A virgula apos o 3 e invalida.
  2. Aspas simples em vez de duplas:
    {'nome': 'Joao'} — Deve ser {"nome": "Joao"}.
  3. Chaves sem aspas:
    {idade: 30} — Deve ser {"idade": 30}.
  4. Caracteres de controle sem escape:
    Tabs e quebras de linha literais dentro de strings devem ser escritos como \t e \n.
  5. Aspas sem escape dentro de strings:
    {"texto": "disse "ola""} — Deve ser {"texto": "disse \"ola\""}.
  6. Comentarios:
    JSON nao suporta comentarios de nenhum tipo.
  7. NaN, Infinity ou undefined:
    Estes valores do JavaScript NAO sao validos em JSON. Use null em seu lugar.
  8. Valores hexadecimais:
    {"cor": 0xFF0000} nao e valido. Use {"cor": "#FF0000"}.
  9. Misturar tipos num array tipado:
    [1, "dois", true] e JSON valido, mas muitas APIs esperam arrays homogeneos.
  10. BOM (Byte Order Mark):
    Alguns editores adicionam bytes invisiveis no inicio do arquivo que invalidam o JSON. Salve sempre como UTF-8 sem BOM.

Todos estes erros sao detectados automaticamente pelo validador JSON, que mostra a linha e posicao exata do erro.

Como formatar e minificar JSON

JSON pode ser apresentado de duas formas: embelezado (pretty-print) para leitura humana, e minificado para transmissao eficiente.

JSON embelezado:

{
  "usuario": {
    "nome": "Maria",
    "idade": 28,
    "ativo": true
  }
}

JSON minificado (mesmos dados, menos bytes):

{"usuario":{"nome":"Maria","idade":28,"ativo":true}}

A versao minificada ocupa menos espaco (ideal para APIs e armazenamento), enquanto a embelezada e muito mais facil de ler e depurar.

Em JavaScript:

JSON.stringify(data, null, 2)  // embelezado com 2 espacos
JSON.stringify(data)           // minificado

Para minificar arquivos JSON grandes, use o minificador de codigo que lida com JSON, CSS e JavaScript.

JSON vs XML: quando usar cada um

Antes do JSON, o XML era o formato dominante para troca de dados. Ambos continuam em uso, mas para propositos distintos:

CaracteristicaJSONXML
LegibilidadeMais concisoMais verboso
Tamanho30-50% menorMaior
Tipos de dadosString, number, boolean, null, array, objectTudo e texto
ComentariosNao suportadosSuportados
SchemasJSON SchemaXSD, DTD
Uso principalAPIs REST, configuracaoSOAP, documentos, RSS
ParseJSON.parse() nativoRequer parser XML

Em 2026, JSON domina no desenvolvimento web, APIs e aplicativos moveis. XML se mantem em sistemas empresariais legados, feeds RSS/Atom e formatos de documentos como DOCX.

Ferramentas para trabalhar com JSON no dia a dia

Alem de validar JSON, estas ferramentas complementares facilitam o trabalho:

No navegador:

  • JSON.parse(jsonString) — Converte uma string JSON em um objeto JavaScript. Lanca erro se o JSON for invalido.
  • JSON.stringify(obj, null, 2) — Converte um objeto para JSON formatado.

JSON Schema: validar a estrutura, nao apenas a sintaxe

Validar a sintaxe apenas verifica se o JSON esta bem formado. Mas em aplicacoes reais, voce tambem precisa verificar se os dados tem a estrutura correta.

Para isso existe o JSON Schema, um padrao para descrever a estrutura de documentos JSON:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["nome", "idade", "email"],
  "properties": {
    "nome": { "type": "string", "minLength": 1 },
    "idade": { "type": "integer", "minimum": 0, "maximum": 150 },
    "email": { "type": "string", "format": "email" }
  }
}

Com este schema, voce pode validar automaticamente que qualquer JSON de usuario tenha nome (string nao vazia), idade (inteiro entre 0 e 150) e email (formato valido). Bibliotecas como Ajv (JavaScript), jsonschema (Python) e Newtonsoft (.NET) implementam validacao com JSON Schema.

Melhores praticas para trabalhar com JSON em producao

Estas praticas ajudarao a evitar problemas comuns em projetos reais:

  • Sempre valide JSON de fontes externas: Qualquer JSON que voce receba de uma API, arquivo enviado por usuario ou webhook deve passar por JSON.parse() dentro de um try-catch antes de ser processado.
  • Use camelCase para chaves: E a convencao padrao em JavaScript/TypeScript. userName em vez de user_name.
  • Evite aninhar mais de 3-4 niveis: JSON profundamente aninhado e dificil de ler, percorrer e manter.
  • Nao guarde dados sensiveis em JSON sem criptografia: Tokens, senhas e chaves privadas nunca devem aparecer em JSON plano em logs ou respostas de API.
  • Use null em vez de omitir campos opcionais: E melhor {"middleName": null} do que omitir o campo.
  • Trate erros de parse com elegancia: Nao mostre o erro completo de JSON.parse ao usuario final. Registre em logs e exiba uma mensagem amigavel.

Experimente esta ferramenta:

Abrir ferramenta

Perguntas frequentes

Por que meu JSON mostra 'Unexpected token' ao fazer parse

O erro 'Unexpected token' significa que JSON.parse encontrou um caractere inesperado. As causas mais comuns sao: aspas simples em vez de duplas, virgula no final do ultimo elemento, comentarios no JSON, ou caracteres invisiveis (BOM) no inicio do arquivo. Cole seu JSON num validador online para ver exatamente onde esta o erro.

Posso usar comentarios dentro de um arquivo JSON

Nao. A especificacao JSON nao permite comentarios de nenhum tipo. Se precisar de JSON com comentarios, use formatos alternativos como JSONC (JSON with Comments, usado pelo VS Code no settings.json), JSON5 ou YAML.

Qual e a diferenca entre JSON e um objeto JavaScript

Um objeto JavaScript pode ter chaves sem aspas, funcoes como valores, undefined, Symbol e virgulas finais. JSON e mais restritivo: todas as chaves devem ter aspas duplas, so permite string, number, boolean, null, array e object como valores, e nao permite virgulas finais nem comentarios.

Quanto JSON e demais para processar no navegador

A maioria dos navegadores modernos consegue fazer parse de JSON de ate 50-100 MB sem problemas. Acima disso, o parse pode bloquear a thread principal e congelar a interface. Para JSON muito grande, use streaming parsers como JSONStream ou processe os dados no servidor.

Como posso converter JSON para CSV ou vice-versa

Para JSON para CSV: se o JSON e um array de objetos com as mesmas chaves, as chaves se tornam colunas e cada objeto uma linha. Para CSV para JSON: cada linha vira um objeto com os headers como chaves. Pode fazer programaticamente com JavaScript ou com ferramentas online.

JSON e melhor que YAML para arquivos de configuracao

Depende do caso. JSON e mais rigoroso (menos erros ambiguos), tem parse mais rapido e e o padrao para APIs. YAML e mais legivel para humanos, permite comentarios e e popular em DevOps (Docker Compose, GitHub Actions, Kubernetes). Para configuracao editada por pessoas, YAML costuma ser melhor. Para dados entre maquinas, JSON e o padrao.