La mayoría de los errores de escape siguen unos pocos patrones repetidos. Reconocerlos ahorra horas mirando una cadena que parece correcta pero se comporta mal.
Doble escape
Escapas un valor, lo guardas y luego algo lo escapa otra vez. El resultado aparece como \\n o & en lugar de un salto de línea o un ampersand. La regla es escapar una sola vez, en la frontera donde los datos entran al formato de destino, y mantener el valor original en el resto de tu código.
Rutas de Windows
C:\temp\new contiene \t y \n, que un lenguaje lee como un tabulador y un salto de línea. En código necesitas "C:\\temp\\new", o una cadena sin procesar donde el lenguaje la tenga. Cuando una ruta aparece en JSON, las barras invertidas también deben duplicarse allí.
Comillas tipográficas y caracteres invisibles
El texto copiado de documentos o chats suele contener comillas curvas, espacios de no separación y caracteres de ancho cero. Parecen normales pero son caracteres distintos, así que el analizador falla con un error confuso. Pegar el texto en un escapador que muestre las secuencias \u los revela.
Mezclar estilos de comillas
Un comando de shell dentro de JSON dentro de un script implica tres capas de comillas. Trabaja de adentro hacia afuera: construye primero la cadena más interna, escápala para la siguiente capa y repite. Escribir el contenido en un archivo o usar una API estructurada evita el anidamiento por completo.
Inyección
Siempre que la entrada del usuario pasa a formar parte de código, una consulta, un comando o HTML, un atacante puede usar caracteres especiales para cambiar su significado. Escapar a mano es frágil. Prefiere las APIs que separan los datos de las instrucciones: consultas parametrizadas, arreglos de argumentos en lugar de cadenas de shell y plantillas de frameworks que escapan la salida automáticamente.
Una rutina de depuración
- Imprime la longitud de la cadena y su forma escapada.
- Compárala con lo que querías, carácter por carácter.
- Encuentra la capa donde aparece una barra invertida de más o de menos.
Preguntas frecuentes
¿JSON.stringify es un buen escapador? Para producir JSON o un literal de cadena de JavaScript, sí. No reemplaza el escape de HTML ni de SQL.

