Exemplos:
// O JSON formatado aparecerá aqui
JSON válido
Chaves
Profundidade
Tamanho
Tipo

O que é JSON?

JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados baseado em texto, originalmente derivado da sintaxe de objetos literais do JavaScript. Definido na RFC 8259, JSON representa dados como pares chave-valor (objetos) e listas ordenadas (arrays). É o formato dominante para APIs REST, arquivos de configuração e serialização de dados porque praticamente toda linguagem de programação moderna inclui um parser JSON nativo.

JSON suporta seis tipos primitivos: string, number, boolean (true/false), null, object (chaves) e array (colchetes). Todas as strings e chaves de objetos devem estar entre aspas duplas — aspas simples não são JSON válido.

Erros Comuns de Sintaxe JSON

A especificação JSON é deliberadamente estrita, o que significa que pequenos erros causam uma falha completa no parse. As causas mais frequentes de JSON inválido são:

  • Vírgulas finais: Uma vírgula após o último elemento de um objeto ou array — {"a": 1,} — não é permitida em JSON. É válida em literais de objetos JavaScript e muitas linguagens, mas explicitamente proibida pela especificação JSON.
  • Strings entre aspas simples: JSON requer aspas duplas para todas as strings e chaves. Escrever {'key': 'value'} é inválido; deve ser {"key": "value"}.
  • Chaves sem aspas: Chaves de objetos devem ser sempre strings entre aspas. {name: "Alice"} é um atalho inválido do JavaScript — JSON requer {"name": "Alice"}.
  • Comentários JavaScript: JSON não suporta comentários // single-line ou /* block */. Se precisar de comentários em arquivos de configuração, considere JSONC ou JSON5 — ambos requerem um parser dedicado e não são intercambiáveis com JSON padrão.
  • Valores undefined: undefined é um conceito do JavaScript; não tem representação em JSON. Chaves com valor undefined são silenciosamente descartadas pelo JSON.stringify().
  • Caracteres especiais não escapados: Certos caracteres dentro de strings devem ser escapados: \" (aspas duplas), \\ (barra invertida), \n (nova linha), \t (tab). Novas linhas sem escape dentro de um literal de string não são permitidas.

Perguntas Frequentes

O que é JSON e por que é usado?

JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados baseado em texto, derivado da sintaxe de objetos JavaScript. Usa pares chave-valor e listas ordenadas, sendo fácil para humanos lerem e para máquinas parsearem. JSON é o formato dominante para APIs REST, arquivos de configuração e armazenamento de dados porque praticamente todas as linguagens de programação têm um parser JSON nativo.

Como validar JSON online?

Cole seu JSON no campo de entrada acima e clique em Validar. A ferramenta usa JSON.parse() para verificar seu JSON e, se for inválido, reporta o erro de sintaxe exato com número de linha e coluna. Problemas comuns incluem vírgulas finais, strings entre aspas simples, chaves sem aspas e comentários JavaScript — nenhum deles é válido em JSON.

Qual é a diferença entre JSON e XML?

JSON é geralmente mais compacto, mais rápido de parsear e mais fácil de ler que XML. XML usa tags de abertura e fechamento verbosas e suporta atributos, namespaces e comentários. JSON mapeia diretamente para estruturas de dados (objetos e arrays) encontradas na maioria das linguagens. JSON substituiu em grande parte o XML para APIs REST, mas XML ainda é usado em serviços SOAP, formatos de documentos (SVG, DOCX) e sistemas corporativos.

Por que JSON não permite vírgulas finais?

Vírgulas finais (uma vírgula após o último item em um objeto ou array) não são válidas na especificação JSON (RFC 8259). Esta é uma decisão estrita de design para simplificar parsers. JavaScript em si permite vírgulas finais em literais de array e objeto, mas JSON.parse() lançará um SyntaxError. Se precisar de um formato mais permissivo, considere JSON5 ou JSONC (JSON com Comentários), embora estes necessitem de parsers especiais.

Ferramentas Relacionadas