Perguntas frequentes

Perguntas comuns sobre formatação, reparação e validação de JSON, e segurança de dados.

Perguntas frequentes

Posso formatar JSON inválido online?
Sim. Cole o JSON quebrado e clique em Repair & Format. A ferramenta tenta corrigir aspas simples, vírgulas finais, chaves sem aspas, comentários e valores no estilo Python antes de formatar a saída já reparada.
Como formato JSON quebrado?
Comece pela menor amostra que possa colar com segurança, repare a sintaxe e valide o resultado com um parser JSON estrito. Se o payload tiver vírgulas finais, isto consegue formatar JSON com vírgulas finais removendo primeiro a última vírgula e formatando o resultado válido.
O que significa «Unexpected token»?
Significa que o parser encontrou um caractere que não pode aparecer nessa posição em JSON estrito. Uma aspa simples, uma barra, uma vírgula final ou um True em maiúsculas costumam indicar quase-JSON copiado de JavaScript, Python ou de uma resposta de IA.
Posso converter JSON num objeto JavaScript?
Sim. Assim que a entrada for JSON válido, use JSON.parse(jsonText) em JavaScript. Se o texto for um literal de objeto JavaScript, repare-o primeiro para JSON estrito antes de fazer parsing.
Os meus dados estão seguros?
Sim. A ferramenta corre inteiramente no seu navegador com JavaScript. Nenhum dado é enviado para um servidor.
Qual é a diferença entre Repair e Validate?
Repair tolera erros comuns e tenta produzir JSON válido. Validate usa um parser estrito e reporta a linha e a coluna exatas de cada erro.

Guia de uso detalhado

A maioria dos formatadores de JSON para quando o parser lança um erro. Esta ferramenta foi pensada para o passo antes da formatação normal: transforma quase-JSON em JSON estrito e depois embeleza o resultado para que possa rever a estrutura. Isso torna-a útil quando procura como formatar JSON quebrado, e não apenas como embelezar uma resposta válida.

Comece pelo menor pedaço de JSON quebrado que possa colar em segurança. Clique em Repair & Format quando o texto vier de um literal de objeto JavaScript, um snippet Python, uma resposta em Markdown, uma configuração editada à mão ou um log que parece JSON mas falha num parser estrito. A fase de reparação normaliza erros comuns de sintaxe para JSON válido e imprime o resultado com indentação previsível, deixando arrays e objetos aninhados mais fáceis de rever.

Após a reparação, clique em Validate. A validação usa um parser estrito e deve ser a última verificação antes de copiar a saída para um cliente de API, uma configuração de aplicação, uma migração de base de dados, um fixture de teste ou um exemplo de linha de comando. Se a validação falhar, leia a linha e a coluna, inspecione o token destacado e compare entrada e saída reparada. Repair limpa a sintaxe — não decide se os valores estão semanticamente certos para a sua aplicação.

Use Minify apenas depois de o JSON ser válido. JSON minificado é útil para variáveis de ambiente, parâmetros de query, logs compactos e pequenos exemplos em documentação. Para code review, depuração e testes de API, a saída formatada é normalmente mais segura, porque cada chave, item de array e valor aninhado fica numa linha previsível.

Dicionário de erros JSON

Vírgula final
Uma vírgula final antes de } ou ] é aceite por muitas ferramentas JavaScript mas rejeitada pelos parsers JSON. Remova a vírgula final depois da última propriedade ou do último item do array.
Chaves JSON sem aspas
Chaves de objeto como name e active têm de estar entre aspas duplas. Converta { name: "Ada" } em { "name": "Ada" }.
Aspas simples
Strings JSON exigem aspas duplas. Substitua 'Ada' por "Ada" e tenha atenção aos apóstrofos dentro de strings.
Unexpected token
Significa que apareceu um caractere onde a gramática estrita do JSON não o permitia. O token pode ser uma vírgula, uma barra, uma aspa simples, um booleano em maiúsculas ou texto extra depois do documento JSON.
Literais Python
O Python usa True, False e None. O JSON usa true, false e null.
Comentários
Os comentários são comuns em JavaScript e JSONC, mas não são JSON válido. Antes de enviar dados para um parser JSON, remova comentários de linha // e comentários de bloco /* */.
Cercas de código Markdown
As respostas de LLM costumam envolver o JSON em cercas ```json. Remova os marcadores de cerca antes de fazer parsing ou enviar o payload para uma API.

Perguntas por ferramenta

JSON Fix — Como reparo JSON inválido?
Cole o JSON quebrado em JSON Fix, clique em Repair & Format. Corrige vírgulas finais, aspas simples, chaves sem aspas, literais Python, comentários e cercas Markdown numa só passagem.
JSON Validate — Qual é a diferença entre validar e fazer parsing de JSON?
Parsing converte o JSON num valor utilizável; validar só confirma que conseguiu ser parseado. Um JSON.parse bem-sucedido é a validação — veja JSON Validator.
JSON Viewer — Porque é que a minha árvore aparece vazia?
A árvore só se constrói a partir de JSON que pode ser parseado. Repare primeiro os erros comuns com JSON Fix e depois carregue o resultado limpo no JSON Viewer.
JSON Diff — Porque é que as versões ordenada e não ordenada são reportadas como idênticas?
Os objetos JSON são, por especificação, não ordenados. JSON Diff normaliza as chaves antes de comparar, por isso só aparecem diferenças reais de valor.
JSON to TypeScript — Os tipos gerados são validados em runtime?
Não. JSON to TypeScript gera interfaces em tempo de compilação. Para validação em runtime, combine-as com Zod ou descreva a forma com JSON Schema.
JSON Minify — Quanto poupa minificar?
Tipicamente entre 15 e 50 % antes da compressão HTTP. Se o seu servidor já envia Content-Encoding: gzip ou br, a poupança marginal do minify é pequena.
JSON Stringify — Como descodifico uma string JSON codificada duas vezes?
Clique em Unstringify em JSON Stringify ou chame JSON.parse duas vezes se a entrada começar com uma aspa escapada.
JSON ⇄ CSV — Como são representados os objetos aninhados?
Cada objeto ou array aninhado é escrito como texto JSON dentro da célula, mantendo a conversão reversível. Veja JSON to CSV.
JSON ⇄ XML — Como transformo um valor em atributo XML?
Prefixe a chave com @ (por exemplo @id); o texto do elemento vai sob #text; arrays tornam-se elementos repetidos. Veja JSON to XML.
YAML — Porque é que o meu YAML não faz parse?
Quase sempre é indentação — um tab (YAML proíbe tabulações) ou irmãos mal alinhados. Passe por o formatador YAML, que evidencia e normaliza ambos.
Base64 — Qual é a diferença entre Base64 e Base64url?
O Base64 padrão usa + e / com padding =; o Base64url, seguro em URLs, substitui-os por - e _ e dispensa o padding, para que o valor seja seguro em URLs e JWTs. Veja Base64.
URL Decode — Porque é que o meu + não é descodificado como espaço?
Em query strings, um espaço pode aparecer como + (codificação de formulário) ou %20. decodeURIComponent não transforma + em espaço — se tiver dados em codificação de formulário, substitua-o você primeiro. Veja URL Decode.
JWT Decode — Verifica a assinatura?
Não. JWT Decode lê as claims; não verifica a assinatura. Verifique sempre do lado do servidor e configure a biblioteca com o algoritmo exato que espera (nunca aceite alg: none).

Que artigo de erro preciso?

Se tiver a string exata do erro, salte diretamente para o artigo correspondente:

Como o processamento local protege a privacidade

As ações de reparação, validação, formatação, minificação e cópia correm na sua aba do navegador. A ferramenta não precisa de um endpoint de upload para processar o seu JSON. Isso importa para amostras de API, payloads de webhooks, fragmentos de configuração interna ou saída de depuração que podem conter identificadores privados. Deve, ainda assim, remover segredos antes de colar exemplos em qualquer site, mas esta ferramenta foi desenhada para que o fluxo principal do JSON seja «local-first».

O site pode usar logs de alojamento e scripts de analytics em torno da página, como descrito na política de privacidade. Esses sistemas não devem receber o conteúdo que cola no editor para reparação. Se um payload contiver credenciais, tokens de acesso, registos de clientes ou segredos de produção, substitua esses valores por marcadores seguros antes de depurar.

O que é JSON e porque é estrito

JSON significa JavaScript Object Notation, mas o JSON moderno é independente da linguagem. Python, Go, Java, PHP, Ruby, Rust, bases de dados, filas, sistemas de logs e código de navegador conseguem ler o mesmo documento JSON porque a gramática é deliberadamente pequena. Essa rigidez é útil: um parser JSON não executa funções, construtores, datas, comentários ou expressões — apenas aceita dados.

O custo é que texto copiado de um literal de objeto JavaScript, um dicionário Python, uma configuração TypeScript ou uma resposta em Markdown pode parecer familiar e continuar a ser JSON inválido. A reparação ajuda a transformar esse quase-JSON em dados que um parser estrito consegue aceitar.

Antes de usar JSON reparado

Uma reparação bem-sucedida significa que o texto pode ser convertido em sintaxe JSON válida. Não prova que o payload está correto para o seu endpoint ou aplicação. Antes de usar JSON reparado em produção, verifique campos obrigatórios, chaves desconhecidas, tipos de valor, comprimentos de array, formatos de data, valores de enum, tratamento de null e se os identificadores devem ser strings ou números.

Se o payload controla permissões, faturação, eliminação de dados ou comportamento visível ao cliente, depois da reparação compare-o com uma amostra conhecida-boa ou um schema. Em trabalho com APIs, valide primeiro a sintaxe e depois o contrato de negócio.