运行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中的错误吗?
答案 0 :(得分:3)
您需要使用另一个反斜杠来转义换行符中的反斜杠
var foo = '{ "success": false, "errtype": "barf", "message": "my message\\n"}';