Saltar para o conteúdo
4all.tools

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.

Modo de operação

Converte JSON estrito, comentários // e /* */ e vírgulas finais para JSON estrito.

JSONC aceita comentários e vírgulas finais. O restante da sintaxe JSON deve ser válido.

0 / 250.000 unidades UTF-16

Ações de reparo JSON

É necessário JavaScript para converter ou reparar JSON no navegador.

Resultado

Pronto. Escolha um modo e execute a operação quando quiser.

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

  1. Cole o texto original em Entrada.
  2. Escolha JSONC para JSON ou Reparar JSON. JSONC é o modo inicial.
  3. Selecione Converter ou Reparar para iniciar a operação.
  4. Revise a saída proposta, o resumo, os avisos e cada mudança.
  5. 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.