在 JavaScript 中使用换行符转义 JSON 字符串
在 JSON 值包含换行符的情况下,必须对它们进行转义以获得正确的 JSON字符串形成。
转义换行符
要实现此目的,请在 JSON 对象上使用 JSON.stringify() 方法。随后,利用replace()方法将n(换行符)的所有实例替换为\n。
示例:
const jsonString = JSON.stringify({ value: 'This contains a newline\n' }); const escapedString = jsonString.replace(/\n/g, '\n');
转义其他特殊字符
除了换行符之外,您可能还会遇到需要对 JSON 字符串中的其他特殊字符进行转义的情况。但是,没有专门设计用于转义所有此类字符的流行 JS 库。
自定义转义函数
要解决此问题,您可以创建一个名为 escapeSpecialChars 的自定义转义函数() 并将其附加到 String 对象的原型:
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"); };
使用自定义函数的简化代码
使用自定义函数后,您的代码将变为:
const jsonString = JSON.stringify({ value: 'This contains a newline\n' }); const escapedString = jsonString.escapeSpecialChars();
此技术可以转义 JSON 字符串中的换行符和其他潜在特殊字符。
以上是如何使用 JavaScript 转义 JSON 字符串中的换行符?的详细内容。更多信息请关注PHP中文网其他相关文章!