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.
Código de Entrada
Código de Saída
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 Dado | Exemplo |
---|---|
String | "Olá, mundo!" (sempre com aspas duplas) |
Number | 101 , 3.14 (sem aspas) |
Object | { "chave": "valor" } |
Array | [ "maçã", "banana", "laranja" ] |
Boolean | true ou false (sem aspas) |
Null | null (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
ousnake_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"
) esnake_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.