Converter JSONC para JSON e reparar JSON
Converta comentários e vírgulas finais de JSONC em JSON estrito ou tente reparar erros comuns com heurísticas limitadas e mudanças revisáveis.
Espaço de trabalho da ferramenta
Converter JSONC ou reparar JSON
É necessário JavaScript para converter ou reparar JSON no navegador.
JSONC aceita comentários e vírgulas finais. O restante da sintaxe JSON deve ser válido.
0 / 250.000 unidades UTF-16
É necessário JavaScript para converter ou reparar JSON no navegador.
Diagnósticos
Resultado
Pronto. Escolha um modo e execute a operação quando quiser.
Resumo das mudanças
- Mudanças de texto
- 0
- Inseridos
- 0
- Excluídos
- 0
- Substituídos
- 0
Mudanças agrupadas; o intervalo pode incluir texto não modificado.
Mudanças de texto
Nenhuma mudança de texto.
Escolha um modo
Use JSONC para JSON quando o documento for JSON com comentários // ou
/* ... */, ou vírgulas finais. O conversor remove comentários e vírgulas
finais e depois verifica se o resultado é JSON estrito. JSON estrito não tem
comentários, por isso eles não aparecem na saída.
Escolha Reparar JSON se houver erros comuns adicionais, como strings com aspas simples ou nomes de propriedades sem aspas. O reparo usa heurísticas e pode inferir valores ou delimitadores ausentes. A entrada é preservada; revise a saída JSON estrita e as mudanças de texto antes de copiá-la.
Exemplos
Entrada JSONC:
{
// comentários e vírgulas finais são permitidos aqui
"name": "Ada",
}
Saída JSON estrita:
{
"name": "Ada"
}
Entrada para reparar:
{ name: 'Ada', active: true }
Uma saída JSON estrita possível:
{"name":"Ada","active":true}
Os exemplos de saída mostram JSON equivalente com espaçamento simplificado. A conversão JSONC substitui comentários e vírgulas finais por espaços e preserva as quebras de linha; Reparar pode produzir outro espaçamento.
Como usar o reparador JSON
- Cole o texto original em Entrada.
- Escolha JSONC para JSON ou Reparar JSON. JSONC é o modo inicial.
- Selecione Converter ou Reparar para iniciar a operação.
- Revise a saída proposta, o resumo, os avisos e cada mudança.
- Use os controles de intervalo para inspecionar o texto original ou proposto e copie a saída somente quando ela corresponder ao que você precisa.
Digitar e mudar o modo não executam uma operação automaticamente. O resultado é removido quando a entrada ou o modo muda. Cancelar também mantém a entrada original intacta.
Heurísticas e incerteza
O reparo não reconstrói a intenção de quem escreveu o documento. Se o texto
terminar no meio de um valor, o reparo pode inferir null ou adicionar aspas,
colchetes ou chaves de fechamento. São suposições: o número, a string ou o
array truncado poderiam ter outro valor. Um bloco Markdown que envolve um
documento pode ser reconhecido, mas não há extração universal de prosa ou de
vários trechos sem relação.
O aviso permanece visível enquanto Reparar JSON estiver selecionado, inclusive quando uma entrada válida passa sem mudanças. Uma operação bem- sucedida significa que o candidato passou pela validação sintática JSON estrita. Isso não prova que o reparo preservou o significado pretendido.
Limites e validação
A entrada é limitada a 250.000 unidades UTF-16 e a saída candidata a 500.000. A análise é limitada a 100 níveis de aninhamento, 25.000 nós JSON, 100 diagnósticos e 1.000.000 unidades de trabalho; a verificação inicial do reparo tem seu próprio limite de 1.000.000 unidades. O Worker tem limite de cinco segundos. A comparação detalhada é limitada a 2.000.000 unidades de trabalho e 1.000 mudanças localizadas; a verificação linear das mudanças tem um limite separado de 4.000.000 unidades. Se não for possível mostrar todos os detalhes com segurança, as mudanças podem ser agrupadas em um intervalo maior. São exibidas 50 linhas por página e cada prévia é encurtada após 240 unidades UTF-16. Um erro de limite não expõe um candidato parcial como saída utilizável.
Nomes de propriedades duplicados e uma marca de ordem de bytes são rejeitados. O validador JSON estrito também pode avisar que um número talvez perca precisão ao ser representado como número JavaScript. Quando esse aviso aparecer, confira o texto original de números grandes ou muito precisos. Nenhum modo promete suporte completo a JSON5 nem recuperação exata de uma entrada danificada.
Processamento local e privacidade
Conversão, reparo, validação e comparação das mudanças são executados em um Worker do navegador, no seu dispositivo. A ferramenta não envia o documento a um servidor da aplicação nem o armazena. O clipboard do navegador só é usado quando você pede para copiar.
Perguntas frequentes
Qual é a diferença entre conversão JSONC e Reparar JSON?
A conversão JSONC aceita comentários e vírgulas finais em torno de JSON que, no restante, é válido. O reparo tenta corrigir outros erros comuns e pode inferir conteúdo, por isso exige uma revisão semântica mais cuidadosa.
Este é um conversor completo de JSON5?
Não. Ele trata a sintaxe JSONC documentada e alguns casos de reparo. Não promete todos os recursos do JSON5, como todos os valores especiais e a sintaxe numérica.
Por que o reparo pode não corrigir um erro?
Um texto malformado pode ter vários significados plausíveis. O reparo é heurístico e limitado; uma entrada ambígua ou não suportada pode falhar na validação estrita em vez de gerar uma suposição.
O que acontece com dados truncados?
O reparo pode inferir null ou delimitadores de fechamento para formar um
candidato analisável. Ele não recupera caracteres ausentes; compare o
candidato com os dados originais antes de usá-lo.
Por que os comentários desaparecem?
JSON estrito não tem sintaxe de comentários. A conversão JSONC os remove ao criar um candidato JSON estrito.
Números grandes podem mudar?
JavaScript representa números JSON com precisão finita. O validador avisa quando detecta uma possível perda; mantenha o texto original e confira o valor com uma representação adequada aos seus dados.