Escapar de caracteres de nueva línea en cadenas JSON con JavaScript
Las cadenas JSON a menudo requieren la inclusión de caracteres de nueva línea para facilitar la lectura. Sin embargo, estos caracteres pueden causar problemas cuando se transmiten directamente en formato JSON. Para solucionar este problema, es esencial escapar de ellos antes de enviar la cadena.
Opción 1: usar JSON.stringify() y .replace()
Primero, convierta el Objeto JSON a una cadena usando JSON.stringify():
var json = JSON.stringify({"value": "This \nis a test"});
Entonces , escape los caracteres de nueva línea usando .replace():
var escapedJson = json.replace(/\\n/g, "\\\\n");
This reemplaza todas las instancias de "\n" con "\n", escapando exitosamente los caracteres de nueva línea.
Opción 2: escapar de caracteres especiales usando una función reutilizable
Para escapar todos los caracteres especiales, incluidos los caracteres de nueva línea, puede crear una función reutilizable:
String.prototype.escapeSpecialChars = function() {
return this.replace(/\\n/g, "\\\\n")
.replace(/\\'/g, "\\\\'")
.replace(/\\"/g, '\\\\"')
.replace(/\\&/g, "\\\\&")
.replace(/\\r/g, "\\\\r")
.replace(/\\t/g, "\\\\t")
.replace(/\\b/g, "\\\\b")
.replace(/\\f/g, "\\\\f");
};
Esta función se puede aplicar a cualquier cadena que necesite escape:
var json = JSON.stringify({"value": "This \nis a test"});
var escapedJson = json.escapeSpecialChars();
Ambas opciones escapan de manera efectiva los caracteres de nueva línea en cadenas JSON, lo que garantiza la compatibilidad al transmitir datos JSON.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3