Saltar al contenido
Case Converter Online
es

JSON unstringify online

Pega una cadena JSON escapada y llena de barras invertidas y recupera el texto o el JSON original, con formato y fácil de leer.

Pega una cadena JSON escapada, o pulsa Ejemplo. Todo funciona en tu navegador.

Qué significa desescapar (unstringify)

Cuando un JSON se guarda dentro de una cadena, cada comilla doble se escribe como \", cada salto de línea como \n y cada barra invertida como \\. Lo ves en archivos de log, colas de mensajes, cargas de webhooks, las herramientas para desarrolladores del navegador y columnas de bases de datos que guardan JSON como texto. Es válido, pero cuesta leerlo:

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

Hacer JSON unstringify, o desescapar, deshace esos escapes y te devuelve el valor original. Si ese valor es JSON, esta herramienta además le da formato para que puedas leerlo.

Cómo usarlo

  1. Pega la cadena escapada en el cuadro de la izquierda, pulsa Abrir archivo o pulsa Ejemplo.
  2. El resultado aparece a la derecha mientras escribes.
  3. Ajusta las opciones:
    • Desescapar cadenas anidadas sigue trabajando cuando el resultado es a su vez otra cadena escapada. Viene activado.
    • Si el resultado es JSON te deja elegir una sangría de 2 o 4 espacios, o Dejar como está.
  4. Pulsa Copiar, o Descargar para guardar el resultado como archivo de texto.

La línea bajo los cuadros indica si el resultado es JSON válido y cuántas capas se desescaparon.

Ejemplos

La cadena de arriba, con Si el resultado es JSON en 2 espacios, queda así:

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

También funciona con texto escapado sin comillas exteriores. Esta entrada:

Line one\nLine two\t(tabbed)

da dos líneas, con una tabulación real antes de (tabbed):

Line one
Line two	(tabbed)

Los escapes Unicode se decodifican. "Café 東京" se convierte en Café 東京. Esto es útil con textos en español que otro programa escapó como ASCII, por ejemplo con json.dumps de Python: "Caf\u00e9 \u00bfQu\u00e9?" da Café ¿Qué?, con las tildes y el signo de apertura en su sitio.

Cadenas codificadas dos veces

A veces los datos pasan por stringify dos veces. Las barras invertidas se acumulan:

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

Con Desescapar cadenas anidadas activado, la herramienta desescapa las dos capas e informa “Se desescaparon 2 capas.” Con Dejar como está seleccionado, el resultado es:

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

Con Desescapar cadenas anidadas desactivado, se detiene tras una capa y ves la cadena interior, todavía escapada:

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

Eso sirve cuando quieres ver exactamente qué contenía cada capa.

Mensajes de error

Si la entrada no es una cadena JSON válida, recibes la línea y la columna del problema. Ejemplos reales:

Entrada Mensaje
"bad \q escape" Línea 1, columna 6: Secuencia de escape no válida \q
He said "hi" Línea 1, columna 9: Hay una comilla doble que no está escapada como \"
"unterminated Línea 1, columna 1: Cadena sin cerrar: falta la comilla doble de cierre

JSON solo admite estos escapes: \", \\, \/, \b, \f, \n, \r, \t y \u seguido de cuatro dígitos hexadecimales. Los escapes de otros lenguajes, como \x41 o \', no son JSON válido. Pulsa Mostrar en la entrada para ir al problema.

Cómo funciona

La herramienta lee tu entrada como un literal de cadena JSON y añade las comillas exteriores si faltan. Decodifica los escapes según las reglas de JSON. Si el resultado empieza por una comilla doble, es a su vez una cadena JSON válida y Desescapar cadenas anidadas está activado, decodifica otra vez. Por último, si el resultado es un objeto o un array JSON, le da formato con la sangría que elegiste. Los números se conservan exactamente como estaban escritos. Todo ocurre en tu navegador.

Consejos

  • Si el resultado no es JSON válido, se muestra como texto normal, que es lo correcto para cadenas que nunca fueron JSON.
  • Copia el valor directamente de la línea de log, comillas incluidas, para no perder ningún carácter en los extremos.
  • Si ves caracteres \r sueltos en el resultado, el texto original tenía finales de línea de Windows.

Otras formas de hacerlo

JavaScript. JSON.parse(str) decodifica una capa. Vuelve a llamarlo sobre el resultado si el valor está codificado dos veces, y después usa JSON.stringify(value, null, 2) para darle formato.

Python. json.loads(s) decodifica una cadena JSON. Para una cadena codificada dos veces, llámalo dos veces.

jq. jq -r . file.json imprime una cadena JSON como texto sin procesar, y jq 'fromjson' analiza una cadena que contiene JSON.

Herramientas relacionadas

Para hacer el camino inverso y escapar texto como cadena JSON, usa JSON Stringify. Para validar o volver a formatear el resultado, usa el formateador JSON. Para convertirlo en YAML, usa el convertidor de JSON a YAML.

JSON Unstringify: preguntas y respuestas

¿Tengo que incluir las comillas exteriores?

No. La herramienta acepta la cadena con o sin las comillas dobles que la rodean. Si copiaste solo el interior de la cadena desde un log o un campo, pégalo tal cual.

¿Qué es una cadena JSON codificada dos veces?

Es un JSON que se convirtió en cadena dos veces, así que está lleno de secuencias como \\\". Suele pasar cuando un servicio aplica stringify a datos que ya eran una cadena. Con Desescapar cadenas anidadas activado, la herramienta sigue desescapando hasta llegar al contenido real.

¿Por qué recibo un error sobre una comilla doble sin escapar?

Dentro de una cadena JSON, cada comilla doble debe escribirse como \". Si una no lo está, la cadena termina antes de tiempo y el resto no se puede leer. El mensaje muestra la columna de esa comilla.

¿Se envían mis datos a algún sitio?

No. El desescapado se hace en tu navegador, así que las líneas de log y las cargas con datos privados se quedan en tu dispositivo.

Más herramientas de código y datos

Ver todas las herramientas