Corrigir chaves sem aspas em JSON
Chaves como name, active e profile precisam de aspas em JSON válido, mesmo quando parecem identificadores normais.
Por que chaves sem aspas falham
O JavaScript permite nomes de propriedade «pelados» em literais de objeto. O JSON não; toda chave de objeto precisa ser uma string entre aspas duplas.
Exemplo errado
{ name: "Ada", active: true }
JSON corrigido
{ "name": "Ada", "active": true }
Por que identificadores JavaScript parecem chaves JSON
Em um literal de objeto JavaScript, { name: "Ada" } é legal porque name é um identificador válido. O JSON eliminou esse atalho para que um parser só precise reconhecer uma forma — uma string entre aspas — para qualquer chave, mantendo a gramática pequena o bastante para ser implementada em qualquer linguagem.
Chaves que sempre precisam de aspas
Mesmo se um parser aceitasse identificadores pelados, várias formas de chave ainda exigiriam aspas: palavras reservadas como return ou class, nomes com hifens ou pontos, nomes começando com dígito e nomes Unicode com caracteres combinantes ou emoji. Colocar aspas em todas as chaves contorna todos esses casos especiais.
Quando o auto-reparo pode colocar aspas com segurança
A ferramenta de reparo coloca aspas em identificadores pelados que aparecem em posição de chave — logo após { ou , e seguidos por :. Ela não mexe em chaves já com aspas, valores ou texto dentro de strings, então adicionar aspas é seguro mesmo quando o documento mistura chaves válidas e inválidas.
JSON5 e JSONC
JSON5 e JSONC (o formato que o VS Code usa para configurações) permitem chaves sem aspas e comentários. São bons para configuração editada por humanos, mas não para intercâmbio — nunca exponha JSON5 via API, clientes padrão vão rejeitar.
FAQ
P: Por que meu JSON tem chaves sem aspas? R: Geralmente porque foi copiado de um literal de objeto JavaScript ou gerado por uma template que esqueceu as aspas. P: Posso deixar chaves sem aspas no package.json? R: Não — package.json é JSON estrito; só tsconfig.json (JSONC) tolera.
Guias de reparação de JSON
Núcleos temáticos
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
Guias específicos
- Como decodificar strings Base64 (e payloads JWT)
- Codificação URL: codifique parâmetros de consulta e caminhos
- Converter YAML para JSON (e evitar erros de indentação)
- Converter JSON para CSV: achatar um array de objetos
- Converter JSON para XML: raiz, atributos e arrays
- Escapar JSON como literal de string (e decodificar JSON com codificação dupla)
- Corrigir vírgulas finais em JSON
- Corrigir aspas simples em JSON
- Reparar JSON gerado por LLM
- Corrigir o erro de parse JSON: Expected Property Name
- JSON x literal de objeto JavaScript
- Valide o JSON antes das requisições de API
- Formatador JSON x JSON Repair
- Corrigir erros JSON Unexpected Token
- Conversor de JSON para objeto JavaScript