Pular para o conteúdo
Case Converter Online
pt

JSON unstringify: string JSON para objeto

Cole uma string JSON escapada, cheia de barras invertidas, e receba de volta o texto ou o JSON original, formatado e legível.

Cole uma string JSON escapada, ou clique em Exemplo. Tudo roda no seu navegador.

O que significa desfazer o stringify

Quando um JSON é guardado dentro de uma string, cada aspa dupla dele vira \", cada quebra de linha vira \n e cada barra invertida vira \\. Você vê isso em arquivos de log, filas de mensagens, payloads de webhooks, ferramentas de desenvolvedor do navegador e colunas de banco de dados que guardam JSON como texto. É válido, mas difícil de ler:

"{\"name\":\"Ada\",\"tags\":[\"admin\",\"dev\"]}"

O unstringify desfaz o escape e devolve o valor original. Se esse valor for um JSON, esta ferramenta também o formata para você conseguir ler.

Como usar

  1. Cole a string escapada na caixa da esquerda, clique em Abrir arquivo ou em Exemplo.
  2. O resultado aparece à direita enquanto você digita.
  3. Ajuste as opções:
    • Desfazer strings aninhadas continua o processo quando o resultado é outra string escapada. Vem ligada por padrão.
    • Se o resultado for JSON deixa você escolher recuo de 2 ou de 4 espaços, ou Deixar como está.
  4. Clique em Copiar, ou em Baixar para salvar o resultado como arquivo de texto.

A linha abaixo das caixas informa se o resultado é um JSON válido e quantas camadas de escape foram desfeitas.

Exemplos

A string acima, com Se o resultado for JSON em 2 espaços, vira:

{
  "name": "Ada",
  "tags": [
    "admin",
    "dev"
  ]
}

Um texto escapado sem as aspas de fora também funciona. Esta entrada:

Line one\nLine two\t(tabbed)

dá duas linhas, com uma tabulação de verdade antes de (tabbed):

Line one
Line two	(tabbed)

Os escapes Unicode são decodificados. "Café 東京" vira Café 東京, e "Promoção" vira Promoção. Isso ajuda muito com logs de sistemas que escapam todos os acentos do português.

Strings codificadas duas vezes

Às vezes os dados passam pelo stringify duas vezes. As barras invertidas vão se acumulando:

"\"{\\\"event\\\":\\\"signup\\\",\\\"user\\\":7}\""

Com Desfazer strings aninhadas ligado, a ferramenta desfaz as duas camadas e informa que desfez 2 camadas. Com Deixar como está selecionado, o resultado é:

{"event":"signup","user":7}

Com Desfazer strings aninhadas desligado, ela para depois de uma camada e você vê a string interna, ainda escapada:

"{\"event\":\"signup\",\"user\":7}"

Isso é útil quando você quer ver exatamente o que cada camada continha.

Mensagens de erro

Se a entrada não for uma string JSON válida, você recebe a linha e a coluna do problema. Exemplos reais:

Entrada Mensagem
"bad \q escape" Linha 1, coluna 6: Sequência de escape inválida \q
He said "hi" Linha 1, coluna 9: Há uma aspa dupla sem o escape \"
"unterminated Linha 1, coluna 1: String não terminada: falta a aspa dupla de fechamento

O JSON só aceita estes escapes: \", \\, \/, \b, \f, \n, \r, \t e \u seguido de quatro dígitos hex. Escapes de outras linguagens, como \x41 ou \', não são JSON válido. Clique em Mostrar na entrada para ir até o problema.

Como funciona

A ferramenta lê a sua entrada como uma string literal JSON, acrescentando as aspas de fora se estiverem faltando. Ela decodifica os escapes usando as regras do JSON. Se o resultado começar com uma aspa dupla e for, ele mesmo, uma string JSON válida, e se Desfazer strings aninhadas estiver ligado, ela decodifica de novo. Por fim, se o resultado for um objeto ou um array JSON, ele é formatado com o recuo escolhido. Os números de dentro ficam exatamente como foram escritos. Tudo acontece no seu navegador.

Dicas

  • Se o resultado não for um JSON válido, ele aparece como texto simples, o que está certo para strings que nunca foram JSON.
  • Copie o valor direto da linha do log, incluindo as aspas, para não perder nenhum caractere nas pontas.
  • Se aparecerem caracteres \r soltos no resultado, o texto original tinha quebras de linha do Windows.

Outras formas de fazer isso

JavaScript. JSON.parse(str) decodifica uma camada. Chame de novo no resultado para um valor codificado duas vezes, e depois use JSON.stringify(value, null, 2) para formatar.

Python. json.loads(s) decodifica uma string JSON. Para uma string codificada duas vezes, chame duas vezes.

jq. jq -r . file.json mostra uma string JSON como texto puro, e jq 'fromjson' analisa uma string que contém JSON.

Ferramentas relacionadas

Para fazer o caminho contrário e escapar um texto em uma string JSON, use o JSON stringify. Para validar ou reformatar o resultado, use o formatador JSON. Para transformá-lo em YAML, use a ferramenta de converter JSON para YAML.

JSON unstringify: perguntas e respostas

Preciso incluir as aspas de fora?

Não. A ferramenta aceita a string com ou sem as aspas duplas em volta. Se você copiou só o miolo da string de um log ou de um campo, cole do jeito que está.

O que é uma string JSON codificada duas vezes?

É um JSON que foi transformado em string duas vezes, então fica cheio de sequências como \\\". Isso costuma acontecer quando um serviço aplica stringify em dados que já eram uma string. Com Desfazer strings aninhadas ligado, a ferramenta continua desfazendo o escape até chegar ao conteúdo real.

Por que recebo um erro sobre uma aspa dupla sem escape?

Dentro de uma string JSON, toda aspa dupla precisa ser escrita como \". Se uma não estiver, a string termina antes da hora e o resto não pode ser lido. A mensagem mostra a coluna dessa aspa.

Meus dados são enviados para algum lugar?

Não. O processo roda no seu navegador, então linhas de log e payloads com dados privados ficam no seu aparelho.

Mais ferramentas de código e dados

Ver todas as ferramentas