我正在尝试将以下字符串解析为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"}}
这可以以某种方式逃脱吗?这似乎是用户的有效输入。
答案 0 :(得分:1)
逃脱的\
不能在&
之前。
如果您想要转义&
,只需使用&
(无需转义)。
document.write(JSON.parse(String.raw`"&"`));

如果您想要字符串\&
,则需要像\
一样转义\\&
。
document.write(JSON.parse(String.raw`"\\&"`));