您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用JavaScript对包含换行符的JSON字符串进行转义?

如何使用JavaScript对包含换行符的JSON字符串进行转义?

使用您的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()。让我们继续前进,并将其连接到prototype chain该的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
javascript 2022/1/1 18:15:06 有564人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶