使用您的JSON及其它
.stringify()。然后使用
.replace()方法和替换所有出现的
n用
\n。
编辑:
据我所知,还没有知名的JS库可用于转义字符串中的所有特殊字符。但是,您可以链接
.replace()方法并替换所有特殊字符,如下所示:
var myJSonString = JSON.stringify(myJSON);var myEscapedJSonString = myJSONString.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");// myEscapedJSonString is now ready to be POST'ed to the server.
但这很讨厌,不是吗?输入功能之美,它们使您可以将代码分解成多个部分,并使脚本的主要流程保持整洁,并且没有8个链接
.replace()调用。因此,让我们将该功能放入称为的函数中
escapeSpecialChars()。让我们继续前进,并将其连接到
prototypechain该的
String对象,所以我们可以调用
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");};一旦定义了该函数,我们的代码主体就是这样简单:
var myJSonString = JSON.stringify(myJSON);var myEscapedJSonString = myJSONString.escapeSpecialChars();// myEscapedJSonString is now ready to be POST'ed to the server



