Formatador e Validador de JSON

Cole seu código JSON para validar, formatar com indentação (beautify) ou comprimir em uma única linha (minify). Ideal para depurar APIs e arquivos de configuração.

Opções de Formatação
Código de Entrada
Código de Saída
Copiado!

O que é JSON e Por Que é Tão Usado?

JSON (JavaScript Object Notation) é um formato leve de troca de dados, fácil para humanos lerem e escreverem, e simples para máquinas analisarem e gerarem. Apesar do nome, é um formato de texto completamente independente de linguagem.


Regras Fundamentais da Sintaxe JSON

Um JSON válido sempre segue estas regras. Erros são a causa mais comum de falhas na comunicação com APIs.

  • Pares Chave/Valor: Os dados são representados em pares de chave e valor.
  • Chaves em Aspas Duplas: Todas as chaves (nomes das propriedades) devem estar entre aspas duplas ("). Ex: "nome". Aspas simples não são permitidas.
  • Objetos: Um conjunto de pares chave/valor é um objeto, delimitado por chaves { }.
  • Arrays: Uma lista ordenada de valores é um array, delimitado por colchetes [ ].
  • Sem Vírgulas Finais (Trailing Commas): Não é permitido ter uma vírgula após o último elemento de um objeto ou array. Este é um dos erros mais comuns.

Tipos de Dados Válidos em JSON

Tipo de DadoExemplo
String"Olá, mundo!" (sempre com aspas duplas)
Number101, 3.14 (sem aspas)
Object{ "chave": "valor" }
Array[ "maçã", "banana", "laranja" ]
Booleantrue ou false (sem aspas)
Nullnull (representa um valor nulo, sem aspas)

Uso Principal: JSON tornou-se o padrão de fato para APIs RESTful, permitindo que servidores e clientes (como navegadores ou aplicativos móveis) troquem dados de forma eficiente e previsível.


Melhores Práticas para um JSON Robusto

Além da sintaxe correta, boas práticas garantem que seu JSON seja fácil de usar e manter.

  • Seja Consistente: Use um padrão de nomenclatura para suas chaves (ex: camelCase ou snake_case) e mantenha-o em todo o projeto.
  • Tipos de Dados Previsíveis: Um campo que é um número deve ser sempre um número, não uma string. A consistência evita erros no lado do cliente.
  • Estrutura Lógica: Agrupe dados relacionados em objetos aninhados. Isso torna a estrutura mais intuitiva. Ex: em vez de "user_street", "user_city", use "address": { "street": "...", "city": "..." }.
  • Use Nulos Intencionalmente: Use null para indicar explicitamente que um valor está ausente, em vez de omitir a chave, o que pode causar erros de "propriedade indefinida".

Armadilhas Comuns e Erros a Evitar (O Que Procurar)

A maioria dos erros de "JSON inválido" vem de pequenos descuidos. Fique atento a:

  • Comentários: O padrão JSON não permite comentários. Ferramentas de desenvolvimento podem tolerá-los, mas um parser estrito irá falhar. Remova todas as linhas com // ou blocos /* ... */.
  • Aspas Simples: Chaves e valores de string DEVEM usar aspas duplas ("). Aspas simples (') são inválidas.
  • Números como Strings: Tenha certeza de que valores numéricos não estão entre aspas ("id": 123 é diferente de "id": "123").
  • Caracteres de Escape: Uma barra invertida (\) ou aspas duplas (") dentro de uma string devem ser escapadas com uma barra invertida. Ex: "caminho": "C:\\Users\\Joao".
  • Elemento Raiz Inválido: Um documento JSON deve conter um único objeto { } ou um único array [ ] como elemento raiz. Múltiplos objetos no nível superior não são permitidos.

Como Estruturar um Bom JSON

Um JSON bem estruturado é tão importante quanto um JSON sintaticamente válido. Boas práticas na estrutura garantem que os dados sejam fáceis de consumir e entender por outras aplicações e desenvolvedores.

  • Mantenha a Nomenclatura Consistente: Escolha um padrão para nomear suas chaves e mantenha-o. Os padrões mais comuns são camelCase (ex: "userName") e snake_case (ex: "user_name"). Misturar os estilos torna a análise do JSON mais propensa a erros.
  • Use Ninhos para Agrupar Dados Relacionados: Em vez de usar chaves "planas" com prefixos, agrupe dados relacionados em objetos aninhados. Isso torna a hierarquia dos dados clara.
    {
      /* RUIM: */
      "user_name": "João",
      "user_address_street": "Rua X",
    
      /* BOM: */
      "user": {
    	"name": "João",
    	"address": {
    	  "street": "Rua X"
    	}
      }
    }
  • Seja Previsível com os Tipos de Dados: Garanta que um campo sempre tenha o mesmo tipo de dado. Se "id" é um número, ele nunca deve ser uma string ("id": 123 vs "id": "123"). Inconsistências de tipo são uma fonte comum de bugs em aplicações que consomem o JSON.
  • Use Arrays para Listas de Itens: Sempre que tiver uma coleção de itens (mesmo que seja apenas um ou nenhum), use um array ([]). Isso simplifica o código do consumidor, que pode sempre esperar um array para iterar, em vez de ter que verificar se o valor é um objeto único ou um array.