100 % local: tus datos nunca salen de tu navegador

Cadena JSON a texto — lee el valor de dentro

Decodifica un literal de cadena JSON a texto. Las comillas alrededor son opcionales, y un rechazo dice qué falla y dónde, así que puedes arreglarlo.

Instantáneo Privado Cero cookies

Entrada JSON String

Salida Text

Qué hace esta herramienta

Un literal de cadena JSON se convierte en el texto que representa. "caf\u00e9" da café, "dos\nlíneas" da dos líneas, y "\ud83d\ude00" da el emoji: un par suplente es un carácter, no dos mitades rotas.

Las comillas son opcionales

Las dos formas funcionan:

"caf\u00e9"
caf\u00e9

Es deliberado. Una cadena JSON rara vez llega con sus comillas intactas: la copias de una línea de log, de un git diff, de una traza, de un mensaje de error que citó solo el interior. Exigir las comillas significaría volver a ponerlas a mano cada vez.

El precio es pequeño y se dice claro: una entrada desnuda que resulta ser JSON válido de otro tipo — [1,2], null — se lee como texto, porque eso es lo que significa aquí un fragmento desnudo. Solo una entrada entrecomillada se analiza como literal.

Un rechazo dice qué y dónde

Una entrada que no es una cadena JSON se rechaza en vez de decodificarse a medias, y el mensaje nombra la causa:

EntradaMensaje
a"bUnescaped quotation mark at position 1: write it as \"
"ab\q"Unknown escape "\q" at position 3
"a\u12"Invalid \u escape at position 2: four hexadecimal digits expected
"abcThe opening quotation mark has no closing quotation mark
{"a":1}Expected a JSON string, found a JSON object

Las posiciones cuentan desde cero y se refieren al texto que pegaste, así que el número te lleva al carácter.

Vale la pena decirlo porque antes no era así: cada uno de esos casos producía el único mensaje Invalid JSON string escape sequence. Un objeto pegado no es un fallo de escape, y que te digan lo contrario te manda a buscar al sitio equivocado. Era un defecto real de esta herramienta, encontrado al escribir esta página y corregido.

No se adivina nada

Un escape desconocido es un error, no un carácter. \q no es JSON válido, y decidir que «probablemente quería decir q» te devolvería un texto sutilmente distinto del que tenía la fuente: la clase de diferencia que aparece tres sistemas más allá.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Tengo que incluir las comillas que la rodean?
No. Se aceptan tanto un literal entrecomillado como un fragmento desnudo del tipo `caf\u00e9`, porque a menudo solo tienes el interior de una cadena: copiado de una línea de log, de un diff, de una traza. Si las comillas están, se usan; si no, se añaden.
¿Por qué se rechazó mi objeto JSON?
Porque esta herramienta decodifica una cadena, no un documento. Pegar `{"a":1}` da `Expected a JSON string, found a JSON object` en vez de una queja confusa sobre escapes. Para leer un documento entero, usa el formateador o el validador JSON.
Dice «Unescaped quotation mark at position 4». ¿Qué significa?
Que el carácter 4 de lo que pegaste es un `"` que cierra la cadena antes de tiempo. Dentro de una cadena JSON, una comilla se escribe `\"`. Las posiciones cuentan desde cero y se refieren al texto que escribiste, así que vas directo al carácter en vez de buscarlo.

Convertidores relacionados