Firefox中的JSON.parse有错误吗?

时间:2013-08-28 05:13:26

标签: javascript json firefox

运行Firefox 23.0.1,我有以下代码段:

var foo = '{  "success": false,  "errtype": "barf",  "message": "my message\n"}';

var what = JSON.parse(foo);
console.log(what);

在Firebug Javascript窗口中运行它,或者从我的网页上看控制台日志,我得到了SyntaxError:JSON.parse:字符串文字中的错误控制字符。

但根据http://www.json.org/,这对我来说似乎是有效的JSON,它也会在此处传递验证器:http://jsonlint.com/

当我删除“my message”末尾嵌入的“\ n”时,Firefox中的问题就消失了。没试过其他浏览器。

这是Firefox中的错误吗?

1 个答案:

答案 0 :(得分:3)

您需要使用另一个反斜杠来转义换行符中的反斜杠

var foo = '{  "success": false,  "errtype": "barf",  "message": "my message\\n"}';

请参阅How do I handle newlines in JSON?