Ir al contenido principal
CuteJSON
↑↓ Navegar Enter Seleccionar Esc Cerrar

Como escapar y desescapar cadenas JSON correctamente

Publicado 2 min de lectura Por Akash Kinkar Pandey

Escapar es lo que un documento necesita antes de poder vivir dentro de una cadena: un valor JSON que contiene otro documento JSON, una linea de registro, un argumento de shell, un fixture pegado en un archivo de prueba. Las reglas son cortas, y esta herramienta aplica todas ellas.

Usando la herramienta de escapar y desescapar JSON

Elige Escapar o Desescapar, pega tu texto, y presiona Convertir. Al escapar, puedes elegir si envolver el resultado entre comillas y si escapar todo por encima de ASCII.

Escapando

line1
line2	tab/slash"quote"cafe

con las opciones por defecto produce:

"line1\nline2\ttab/slash\"quote\"cafe"

El salto de linea se convierte en \n, la tabulacion se convierte en \t, la comilla se escapa, la barra oblicua se deja completamente sola, y cafe se queda como texto UTF-8.

Por que la barra oblicua se deja sola

JSON acepta \/ como un escape valido para un / literal, pero nada en la especificacion lo requiere. El habito de escapar barras oblicuas viene de incrustar JSON dentro de una etiqueta HTML <script>, donde una secuencia </script> literal terminaria la etiqueta prematuramente. Ese es un problema diferente con una solucion diferente, especifico para ese contexto de incrustacion, y esta herramienta no lo aplica por defecto. Desescapar aun acepta ambas formas, ya que un documento escrito por algo que si escapa barras oblicuas aun necesita leerse correctamente.

Escapar por encima de ASCII

Activar esto additionally convierte cada caracter por encima del rango ASCII en un escape \u, punto de codigo por punto de codigo. La e con tilde en cafe se convierte en los seis caracteres barra invertida, u, 0, 0, e, 9, para que la cadena anterior termine en caf seguido de ese escape en lugar de la letra misma. Esto es lo que quieres cuando el texto escapado tiene que cruzar algo que no es seguramente seguro para UTF-8, como un sistema antiguo o un transporte que corrompe codificaciones. Dejalo apagado para cualquier cosa que se lea como UTF-8, ya que la forma escapada es mas dificil de leer sin beneficio alguno.

Los fragmentos estan bien

Ninguna direccion requiere que la entrada sea JSON valido por si sola. Escapar parte de un documento, un solo valor que vas a incrustar en una cadena mas grande, es algo comun de querer, por lo que la herramienta trabaja con fragmentos y reporta por separado si el resultado resulta ser JSON completo, como una nota en lugar de un veredicto.

Volver a todas las entradas