Corrigir aspas simples em JSON
Strings e chaves de objeto em JSON precisam de aspas duplas. Valores entre aspas simples são comuns em trechos de JavaScript, saídas tipo Python e respostas de LLM.
Por que as aspas simples falham
JSON estrito só aceita strings com aspas duplas. Um parser vai rejeitar {'name':'Ada'} mesmo que a forma soe familiar para quem desenvolve em JavaScript.
Exemplo errado
{ 'name': 'Ada', 'active': true }
JSON corrigido
{ "name": "Ada", "active": true }
De onde vem o texto com aspas simples
O repr() do Python e a impressão de dicts, literais de objeto JavaScript copiados do console, inspeção de hashes em Ruby e muitas respostas de LLM usam aspas simples. Nada disso é JSON — são literais nativos da linguagem que apenas se parecem.
Por que um find-and-replace cego é arriscado
Trocar ' por " sem critério quebra valores com apóstrofo, tipo { 'note': 'it\'s fine' }. Depois da troca, o apóstrofo interno colide com o novo delimitador de string. Um conversor seguro precisa rastrear o contexto das aspas e trocar só os delimitadores, sem mexer nos caracteres internos.
Estratégia segura de conversão
Tokenize a entrada primeiro: percorra o texto, identifique limites de string pela aspa de abertura e reconstrua cada token com aspas duplas — escapando aspas duplas internas e desfazendo escapes redundantes de aspas simples. A ferramenta de reparo deste site faz isso em uma passada.
Erros de sintaxe JSON relacionados
JSON com aspas simples costuma vir acompanhado de outros pecados ao estilo JavaScript: chaves sem aspas, vírgulas finais, comentários de linha ou valores undefined. Depois de corrigir as aspas, valide o resultado para expor o que sobrar.
FAQ
P: Strings com aspas simples são válidas em JSON5? R: Sim, o JSON5 permite. P: O json.loads do Python aceita aspas simples? R: N ão — use ast.literal_eval se a fonte realmente for um literal Python, ou converta as aspas antes. P: As chaves JSON também precisam de aspas duplas? R: Sim — chaves são strings, mesma regra.
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 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