JSON (JavaScript Object Notation) é o formato de dados mais usado na web moderna. APIs REST, arquivos de configuração, bancos de dados NoSQL e comunicação entre serviços — JSON está em toda parte. Saber formatar, validar e navegar por documentos JSON complexos é uma habilidade essencial para qualquer desenvolvedor.

O Que É JSON?

JSON é um formato leve de troca de dados. Apesar do nome incluir "JavaScript", JSON é independente de linguagem e é suportado nativamente por praticamente toda linguagem de programação moderna. A sintaxe é baseada em dois conceitos:

  • Objetos: Coleções de pares chave-valor entre chaves {}.
  • Arrays: Listas ordenadas de valores entre colchetes [].

Os tipos de valor suportados são: strings (entre aspas duplas), números, booleanos (true/false), null, objetos e arrays.

Erros Comuns de Sintaxe JSON

JSON é rigoroso com a sintaxe. Erros que passam despercebidos em JavaScript causam falhas de parsing em JSON:

  • Vírgula final: {"a": 1,} — a vírgula após o último item é inválida em JSON.
  • Aspas simples: {'nome': 'valor'} — JSON exige aspas duplas.
  • Comentários: JSON não suporta comentários de nenhum tipo (// ou /* */).
  • Chaves sem aspas: {nome: "valor"} — chaves devem estar entre aspas duplas.
  • Undefined: {"a": undefined} — use null em vez de undefined.

Formatando JSON no Código

JavaScript / Node.js

// Formatar com 2 espaços de indentação
JSON.stringify(objeto, null, 2);

// Minificar (remover espaços)
JSON.stringify(objeto);

Python

import json

# Formatar com indentação
json.dumps(objeto, indent=2, ensure_ascii=False)

# Minificar
json.dumps(objeto, separators=(",", ":"))

Linha de comando (jq)

# Formatar arquivo JSON
cat dados.json | jq .

# Extrair campo específico
cat dados.json | jq '.usuarios[0].nome'

JSON em APIs REST

APIs REST modernas usam JSON como formato padrão para request e response bodies. Ao debugar APIs, é essencial poder visualizar respostas JSON de forma legível. Respostas minificadas de endpoints de produção podem ter milhares de caracteres em uma única linha, tornando impossível encontrar o dado que você procura sem formatação.

Ferramentas como nosso Visualizador JSON permitem colar a resposta da API, formatá-la instantaneamente, e navegar pela estrutura hierárquica com colapso de seções.

Formate e Valide JSON Online

Cole seu JSON e obtenha formatação instantânea com destaque de sintaxe, detecção de erros e visualização em árvore. Funciona offline, sem upload.

Abrir Visualizador JSON

Frequently Asked Questions

Qual a diferença entre JSON e JavaScript?

JSON é um subconjunto da sintaxe de objetos JavaScript, mas com regras mais estritas. Em JavaScript, chaves podem ser sem aspas, valores podem ser funções, e vírgulas finais são aceitas. JSON exige aspas duplas em chaves e strings, não aceita funções, undefined ou vírgulas finais. Todo JSON válido é JavaScript válido, mas nem todo JavaScript é JSON válido.

JSON5 é a mesma coisa que JSON?

Não. JSON5 é uma extensão do JSON que permite aspas simples, comentários, vírgulas finais, chaves sem aspas e outros recursos. Apesar de mais flexível para configuração humana, JSON5 não é aceito onde JSON padrão é esperado (como APIs REST). Use JSON padrão para interoperabilidade e JSON5 apenas para arquivos de configuração quando a ferramenta suportar.

Devo minificar JSON em produção?

Para respostas de API transmitidas pela rede, minificar remove espaços desnecessários e reduz o tamanho do payload. Porém, a maioria dos servidores suporta compressão gzip ou Brotli, que reduz o tamanho do JSON em 80-90% independentemente da formatação. O maior ganho geralmente vem da compressão, não da minificação. Para arquivos de configuração e qualquer coisa que humanos leiam, sempre mantenha JSON formatado com indentação.