Pular para o conteúdo
Case Converter Online
pt

JSON stringify: texto para string JSON

Cole qualquer texto ou JSON e receba tudo de volta como uma única string JSON escapada, pronta para colocar dentro de outro documento JSON, de um valor de configuração ou de uma linha de código.

Cole um texto ou JSON, ou clique em Exemplo. Tudo roda no seu navegador.

O que esta ferramenta faz

Uma string JSON é um texto entre aspas duplas em que alguns caracteres são escritos com uma barra invertida: uma aspa dupla vira \", uma barra invertida vira \\, uma quebra de linha vira \n e uma tabulação vira \t. Esta ferramenta pega o seu texto e o escreve como esse tipo de string. É a mesma coisa que o JSON.stringify faz no JavaScript quando você entrega uma string a ele.

Você precisa disso quando um documento JSON tem que carregar outro, ou qualquer texto com aspas e quebras de linha, dentro de um único campo. Escrever os escapes à mão é lento e fácil de errar. Uma barra invertida esquecida invalida o payload inteiro.

Como usar

  1. Cole um texto ou JSON na caixa da esquerda, clique em Abrir arquivo ou em Exemplo.
  2. A string escapada aparece à direita enquanto você digita.
  3. Escolha as opções de que precisar:
    • Compactar o JSON antes tira a formatação de um JSON válido antes de escapá-lo. Vem ligada por padrão.
    • Envolver em aspas acrescenta as aspas duplas de fora. Desligue se você vai colar em um lugar que já tem aspas.
    • Escapar não ASCII como \u escreve letras acentuadas, símbolos e outros caracteres fora do ASCII como códigos \u.
  4. Clique em Copiar, ou em Baixar para salvar o resultado como arquivo de texto.

A linha abaixo das caixas informa se a entrada era um JSON válido e quantos caracteres o resultado tem.

Exemplos

Texto simples com aspas e uma quebra de linha:

He said "hello"
then left.

vira:

"He said \"hello\"\nthen left."

JSON formatado com Compactar o JSON antes ligado:

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

vira:

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

Com Compactar o JSON antes desligado, o recuo é mantido e escapado, então { seguido de uma quebra de linha e "name": "Ada" vira:

"{\n  \"name\": \"Ada\"\n}"

Um caminho do Windows, em que cada barra invertida é dobrada:

"C:\\Users\\Ada\\notes.txt"

Caracteres não ASCII

O JSON aceita qualquer caractere Unicode dentro de uma string, então Café 東京 é válido do jeito que está:

"Café 東京"

Alguns sistemas mais antigos, terminais ou campos limitados por bytes só aceitam ASCII. Com Escapar não ASCII como \u ligado, o mesmo texto vira:

"Caf\u00e9 \u6771\u4eac"

Em português, isso afeta todas as letras acentuadas e o ç: “Promoção” vira "Promo\u00e7\u00e3o". Os caracteres fora do Plano Multilíngue Básico, como a maioria dos emojis, são escritos com dois códigos (um par substituto). Um emoji de rosto sorridente vira "\ud83d\ude00". Qualquer parser de JSON transforma esses códigos de volta nos caracteres originais.

Sem as aspas de fora

Desligue Envolver em aspas quando a string for para um template, um campo de formulário ou um par de aspas que já existe. O texto Tab seguido de uma tabulação e de here sai assim:

Tab\there

Como funciona

A ferramenta usa o JSON.stringify do próprio navegador, então o escape segue exatamente o padrão JSON. Antes disso, se Compactar o JSON antes estiver ligado e a entrada começar com { ou [, ela tenta ler a entrada como JSON. Se der certo, o JSON é escrito sem espaços, mantendo os números exatamente como você escreveu. Depois, o texto inteiro é escapado como uma única string. Nada é enviado para um servidor.

Dicas e limites

  • O resultado é uma string JSON, e não um template literal do JavaScript ou uma string de shell. Os shells e algumas linguagens precisam de outra camada de aspas por cima.
  • Se você aplicar o stringify de novo no resultado, recebe uma string escapada duas vezes. Às vezes é isso que uma API espera, mas normalmente é sinal de bug.
  • Entradas muito grandes funcionam. O trabalho é feito localmente e a velocidade depende do seu aparelho.

Outras formas de fazer isso

JavaScript. JSON.stringify(text) devolve a string escapada. Para embutir um objeto, use JSON.stringify(JSON.stringify(obj)).

Python. json.dumps(text) faz o mesmo com uma string. Passe ensure_ascii=False para manter os caracteres não ASCII como estão, já que o padrão os escapa. Para textos em português, essa opção deixa o resultado bem mais legível.

jq. jq -Rs . file.txt lê um arquivo inteiro como texto puro e o mostra como uma única string JSON.

Ferramentas relacionadas

Para transformar uma string escapada de volta em texto ou JSON legível, use o JSON unstringify. Para conferir ou formatar o JSON antes, use o formatador JSON. Para montar JSON a partir de uma planilha, use a ferramenta de converter CSV para JSON.

JSON stringify: perguntas e respostas

O que significa JSON stringify?

Significa escrever um valor como texto JSON. Para um texto, isso gera uma string JSON: o texto entre aspas duplas, com aspas, barras invertidas, quebras de linha e tabulações escapadas, para que o resultado seja um JSON válido.

Por que eu colocaria um JSON dentro de uma string JSON?

Alguns sistemas guardam ou enviam um documento JSON inteiro como um único campo de texto. Exemplos são filas de mensagens, payloads de webhooks, linhas de log, variáveis de ambiente e algumas colunas de banco de dados. O JSON interno precisa ser escapado para caber ali.

O que faz a opção Compactar o JSON antes?

Se a sua entrada for um JSON válido, os espaços e quebras de linha dele são removidos antes do escape. O resultado fica mais curto e sem os escapes \n vindos da formatação. Se a entrada não for um JSON válido, o texto é escapado exatamente como foi digitado.

Como desfazer?

Use o JSON unstringify. Ele recebe uma string escapada, com ou sem as aspas de fora, e devolve o texto ou o JSON original.

Mais ferramentas de código e dados

Ver todas as ferramentas