为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理JSON中的换行符?

如何处理JSON中的换行符?

森林海 2019-07-23 14:39:24
如何处理JSON中的换行符?我已经生成了一些JSON,我试图将它拉入JavaScript中的对象。我一直在收到错误。这就是我所拥有的var data = '{"count" : 1, "stack" : "sometext\n\n"}';var dataObj = eval('('+data+')');这给了我一个错误unterminated string literal有了JSON.parse(data),我看到类似的错误消息:Unexpected token ↵Chrome中的“ unterminated string literal”和Firefox和IE中的“ ”。当我取出\n后sometext,错误消失了两种情况。我似乎无法弄清楚为什么\n制造eval和JSON.parse失败。
查看完整描述

3 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

我想这就是你想要的:

var data = '{"count" : 1, "stack" : "sometext\\n\\n"}';

(您需要转义字符串中的“\”(将其转换为双 - “\”),否则它将成为JSON源中的换行符,而不是JSON数据。)


查看完整回答
反对 回复 2019-07-23
?
LEATH

TA贡献1936条经验 获得超7个赞

你需要有它取代的功能\n\\n的情况下,data是不是一个字符串文字。

function jsonEscape(str)  {
    return str.replace(/\n/g, "\\\\n").replace(/\r/g, "\\\\r").replace(/\t/g, "\\\\t");}var data = '{"count" : 1, "stack" : "sometext\n\n"}';var dataObj = JSON.parse(jsonEscape(data));

结果dataObj将是

Object {count: 1, stack: "sometext\n\n"}


查看完整回答
反对 回复 2019-07-23
  • 3 回答
  • 0 关注
  • 2614 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号