一尘不染

如何处理JSON中的换行符?

javascript

我生成了一些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中的“ ”。

当我取出\nsometext,两种情况下错误都会消失。我似乎无法找出原因的\n品牌evalJSON.parse失败。


阅读 1100

收藏
2020-04-25

共1个答案

一尘不染

我想这就是你想要的:

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

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

2020-04-25