Como validar JSON online: guia para desenvolvedores com exemplos praticos
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:
| Tipo | Exemplo | Observacoes |
|---|---|---|
| String | "ola mundo" | Sempre aspas duplas |
| Number | 42, 3.14, -7 | Inteiros ou decimais, sem aspas |
| Boolean | true, false | Minusculas, sem aspas |
| Null | null | Minusculas, 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:
- Virgula no final do ultimo elemento:
{"items": [1, 2, 3,]}— A virgula apos o 3 e invalida. - Aspas simples em vez de duplas:
{'nome': 'Joao'}— Deve ser{"nome": "Joao"}. - Chaves sem aspas:
{idade: 30}— Deve ser{"idade": 30}. - Caracteres de controle sem escape:
Tabs e quebras de linha literais dentro de strings devem ser escritos como\te\n. - Aspas sem escape dentro de strings:
{"texto": "disse "ola""}— Deve ser{"texto": "disse \"ola\""}. - Comentarios:
JSON nao suporta comentarios de nenhum tipo. - NaN, Infinity ou undefined:
Estes valores do JavaScript NAO sao validos em JSON. Usenullem seu lugar. - Valores hexadecimais:
{"cor": 0xFF0000}nao e valido. Use{"cor": "#FF0000"}. - Misturar tipos num array tipado:
[1, "dois", true]e JSON valido, mas muitas APIs esperam arrays homogeneos. - 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:
| Caracteristica | JSON | XML |
|---|---|---|
| Legibilidade | Mais conciso | Mais verboso |
| Tamanho | 30-50% menor | Maior |
| Tipos de dados | String, number, boolean, null, array, object | Tudo e texto |
| Comentarios | Nao suportados | Suportados |
| Schemas | JSON Schema | XSD, DTD |
| Uso principal | APIs REST, configuracao | SOAP, documentos, RSS |
| Parse | JSON.parse() nativo | Requer 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:
- Validador JSON: Verifica sintaxe, mostra erros com numero de linha e formata automaticamente.
- Minificador de codigo: Comprime JSON eliminando espacos e quebras de linha.
- Codificador Base64: Codifica JSON em Base64 para transmiti-lo em URLs ou headers HTTP.
- Comparador de texto: Compara duas versoes de um JSON para encontrar diferencas.
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.
userNameem vez deuser_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.