JSON.parse - SyntaxError:意外的令牌& at Object.parse(native)

时间:2016-04-05 20:23:41

标签: javascript json utf-8

我正在尝试将以下字符串解析为JSON,但由于&符号\&\#38,它似乎无法正常工作。它在JSON.parse上引发错误:SyntaxError: Unexpected token & at Object.parse (native)

{"pluginType":"cite","reference":{"title":"Mixed-Initiative Real-Time Topic Modeling \&\#38; Visualization for Crisis Counseling","url":"http://doi.acm.org/10.1145/2678025.2701395","pages":"417--426","year":"2015","publisher":"ACM","_id":"56d59ced7eb2323d008fab24","label":"Dinakar2015MRT26780252701395"}}

这可以以某种方式逃脱吗?这似乎是用户的有效输入。

1 个答案:

答案 0 :(得分:1)

逃脱的\不能在&之前。

  

http://json.org/string.gif

如果您想要转义&,只需使用&(无需转义)。



document.write(JSON.parse(String.raw`"&"`));




如果您想要字符串\&,则需要像\一样转义\\&



document.write(JSON.parse(String.raw`"\\&"`));