Sintaxe JSON: Regras e Exemplos

Embora JSON seja projetado para ser simples, tem regras de sintaxe estritas que devem ser seguidas exatamente. Uma única vírgula mal colocada ou caractere de aspas errado pode tornar todo seu JSON inválido. Este guia cobre todas as regras de sintaxe que você precisa saber para escrever JSON válido e identificar rapidamente erros quando eles ocorrem.

Regras Básicas

A sintaxe JSON é baseada em um subconjunto de JavaScript, mas com regras mais estritas que garantem compatibilidade entre plataformas. Entender estas regras é essencial para trabalhar efetivamente com JSON. A regra mais importante: documentos JSON devem usar aspas duplas para strings, nunca aspas simples. Enquanto JavaScript permite tanto 'olá' quanto "olá", JSON aceita apenas "olá". Similarmente, todas as chaves em objetos JSON devem ser strings entre aspas duplas. O objeto JavaScript {name: "João"} é JavaScript válido mas JSON inválido; deve ser escrito como {"name": "João"}. Espaços em branco em JSON são flexíveis. Espaços, tabs e quebras de linha podem ser adicionados livremente entre tokens para legibilidade sem afetar os dados. JSON não tem conceito de comentários. Vírgulas finais são estritamente proibidas. JSON é case-sensitive. Os valores booleanos devem ser minúsculos true e false, não True e False. Similarmente, null deve ser minúsculo. A codificação deve ser UTF-8 (preferida), UTF-16 ou UTF-32.

Objetos

Objetos são a estrutura JSON mais comumente usada. Eles representam coleções não ordenadas de pares chave-valor, similares a dicionários em Python ou hashmaps em Java. Um objeto é delimitado por chaves {} e contém zero ou mais pares chave-valor. Cada par chave-valor consiste em uma chave (que deve ser uma string entre aspas duplas), seguida por dois pontos, seguida por um valor. Múltiplos pares são separados por vírgulas. Objetos podem ser aninhados a qualquer profundidade. Diferente de objetos JavaScript, objetos JSON não têm métodos ou funções—eles contêm apenas dados. A ordem das chaves é tecnicamente indefinida pela especificação, embora muitas implementações preservem a ordem de inserção. Chaves duplicadas são tecnicamente permitidas mas fortemente desencorajadas. Evite-as para garantir comportamento consistente entre plataformas.

Arrays

Arrays em JSON representam listas ordenadas de valores. Diferente de objetos que são coleções de propriedades nomeadas, arrays são sequências onde a posição importa. Um array é delimitado por colchetes [] e contém zero ou mais valores separados por vírgulas. Arrays JSON não requerem que todos os elementos sejam do mesmo tipo, embora na prática você geralmente queira tipos consistentes. Arrays aninhados são válidos e úteis para representar dados multidimensionais. A ordem do array é preservada—quando você serializa um array e o analisa de volta, os elementos estarão na mesma ordem.

Erros Comuns de Sintaxe

Até desenvolvedores experientes cometem erros de sintaxe JSON. O erro de aspas simples é extremamente comum entre desenvolvedores vindos de JavaScript. Vírgulas finais causam incontáveis erros de análise ao editar JSON. Chaves sem aspas funcionam em JavaScript mas não em JSON. JSON não tem sintaxe de comentários. Usar valores undefined ou NaN falha porque eles não existem em JSON. Colchetes incompatíveis são fáceis de criar em JSON complexo. Erros de sequência de escape ocorrem quando caracteres especiais em strings não são adequadamente escapados. Formatos de número incorretos como zeros à esquerda ou notação hexadecimal causam erros sutis.

Testar a Ferramenta

Formatador JSON

Formatador JSON

Artigos Relacionados