Corrigir vírgulas finais em JSON
Uma vírgula final depois da última propriedade do objeto ou do último item de um array é válida em alguns contextos do JavaScript, mas não é JSON válido.
Por que o erro acontece
Literais de objeto JavaScript costumam permitir uma vírgula final, mas JSON exige que o último item seja seguido diretamente pelo colchete ou chave de fechamento.
Exemplo errado
{ "name": "Ada", "active": true, }
JSON corrigido
{ "name": "Ada", "active": true }
De onde vêm as vírgulas finais
A maioria aparece quando alguém edita uma configuração à mão, comenta o último item ou cola de JavaScript ou TypeScript. Motores de template e geradores de código também produzem isso quando um loop emite vírgula depois de cada item sem rastrear o último índice.
Por que alguns parsers aceitam e o JSON não
Literais de objeto JavaScript, JSON5, JSONC, YAML e a maioria das sintaxes de literais de outras linguagens permitem vírgula final porque deixa os diffs mais limpos. JSON pela RFC 8259 deliberadamente não — JSON.parse, o encoding/json de Go e o módulo json de Python rejeitam.
Detectar vírgulas finais antes da produção
Lint arquivos de configuração em CI com um parser JSON estrito (jq, python -m json.tool ou node -e 'JSON.parse(...)'). Em repositórios TypeScript, defina "trailingComma": "none" no Prettier para qualquer .json, para que o formatador não insira uma.
Quando a vírgula final não é o bug real
Se um payload vem de uma API ou de uma biblioteca que produz JSON com vírgula final, o problema está na serialização upstream, não no consumidor. Corrigir a vírgula localmente esconde um bug do gerador que volta na próxima chamada — corrija quem produz.
FAQ
P: Algum dia o JSON.parse vai aceitar vírgula final? R: Não — modo estrito é o padrão. P: JSON5 é um substituto seguro? R: Só para configuração editada por humanos; nunca para protocolos de rede. P: A ferramenta de auto-reparo consegue remover só vírgulas finais? R: Sim, cole o JSON e ela tira essas vírgulas junto com outros erros de sintaxe comuns.
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 aspas simples em JSON
- Corrigir chaves sem aspas 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