有问题的字符串:
'{"images":{"0":"<div style=\\"background:red;width:250px;height:250px;display:block;position:absolute;\\"></div>"}}'
我尝试过单引号和双引号的各种组合。如果你把这个字符串放入Chrome的javascript控制台,进入JSON.parse(),它会解析得很好。
问题是,该字符串是从服务器发送给我的,我是通过.xhr()请求得到的。一旦添加了该步骤,无论单引号和双引号的排列如何,我都会遇到如下错误:
意外令牌'
如何请求像这样的字符串和JSON.parse它到对象?
答案 0 :(得分:2)
应该是
var jsonstr = '{"images":{"0":"<div style=\"background:red;width:250px;height:250px;display:block;position:absolute;\"></div>"}}'
您使用双\\
代替\
有很好的在线解析器可以帮助您调试。例如。 http://json.parser.online.fr/
答案 1 :(得分:2)
如果引用是字符串的一部分,那么它不是json。删除开始和结束报价。
并且没有理由双重避开双引号。
答案 2 :(得分:0)
你可以简单地选择,而不是使用\“ - 双引号而是使用单引号。我希望你能在html上渲染这个div,所以即使这样也没关系
{
"images": {
"0": "<div style='background:red;width:250px;height:250px;display:block;position:absolute;'></div>"
}
}