Escapar e descodificar strings JSON

Texto Unicode em bruto para um literal de string JSON e vice-versa. O escape pode, opcionalmente, produzir pares de escapes UTF-16 em ASCII.

  • Funciona no navegador
  • Sem envio
  • Verifique antes de transferir

Os dados de entrada ficam neste separador, sem envio ou gravação automática. As contagens agregadas de utilização e os diagnósticos gerais de processamento são opcionais e enviados apenas com consentimento, sem conteúdo nem nomes de ficheiros. Limpar ou fechar elimina os dados; guarde primeiro os resultados necessários.

Formatos e limites

Texto Unicode em bruto para um literal de string JSON e vice-versa. O escape pode, opcionalmente, produzir pares de escapes UTF-16 em ASCII. Ao reverter, exige uma string, valida os escapes JSON e rejeita unidades de substituto isoladas; não converte números nem objetos. As transferências de texto são UTF-8 e preservam caracteres de controlo e carateres suplementares.

Só UTF-8. Entrada até 1 MiB; XML até 100.000 unidades UTF-16; profundidade até 64; JSON até 20.000 nós. JSONL até 16 MiB, 100.000 registos e 1 MiB por valor. Saída até 32 MiB. Consultas: 3 s; outras tarefas: 10 s; processo local cancelável. A memória nativa do XSD fica até 64 MiB; isto não é toda a memória do processo nem do DOM.

Como usar

  1. Escolher origem e modo

    Escolha escapar, para texto simples, ou desfazer o escape, para um literal de string JSON entre aspas. A saída em ASCII é opcional; altera a escrita dos escapes, não o conteúdo Unicode descodificado.

  2. Configurar parâmetros

    No exemplo carregado, as aspas dentro do texto passam a ter uma barra invertida antes e a quebra de linha passa a ser barra invertida seguida de n. O modo ASCII codifica 👋 com duas sequências de escape UTF-16; ao desfazer o escape, as aspas, a quebra de linha e o emoji originais são repostos.

  3. Verificar e transferir

    Descarregue string.json para o literal ou string.txt para o texto UTF-8 descodificado. Uma barra invertida seguida de n, visível no JSON, passa a ser uma quebra de linha real depois de desfazer o escape; copiar o literal JSON não é o mesmo que copiar o texto descodificado.

Formatos e limites

Porque é que esta entrada é rejeitada ou o resultado fica vazio?

Desfazer o escape exige uma string JSON, e não um objeto, um número ou texto sem aspas. Escapes malformados e surrogates UTF-16 isolados são rejeitados. Não acrescente uma segunda camada de aspas, a não ser que pretenda codificar o próprio literal.

Que perfil de análise e que limites se aplicam?

Uma string de cada vez, com a entrada limitada a 1 MiB. Isto é escape de JSON, e não limpeza de HTML, codificação de URL nem validação de código executável; os carateres de controlo continuam a fazer parte do texto descodificado.

As entradas ou os ficheiros referenciados são enviados para um servidor?

A análise é feita localmente, num worker do navegador. Os URL presentes na entrada não vão buscar documentos remotos. Forneça explicitamente, como ficheiros locais, as dependências de esquema suportadas; guarde o seu texto de origem em separado e descarregue os resultados antes de fechar a página.