请问jsonJSON.parse()中双引号怎么解决 javascriptjson 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我这个例子,s已经直接赋值了,还要alert干什么? s是字符串 值为"[{"a":"aa","b":"bbb"},{"a1":"<a href="#">dd</a>"}]" 这串json格式是错误的序列化json的时前后不要加引号直接用 var s=[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}] var s = '[{"a":"aa","b":"bbb"},{"a1":"<a href=\\\"#\\\">dd</a>"}]';JSON.parse(s)你不仅要对"转移,还要对\转移,所以要3个\ 关键是这个值是后台返回的。 使用Newtonsoft.Json中的JsonConvert.SerializeObject()方法的。我不可能去修改。再说var s = '[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]';这个在一些在线解析json的网站上,是可以正常解析的。说明格式是没有错误的 关键是这个值是后台返回的。 使用Newtonsoft.Json中的JsonConvert.SerializeObject()方法的。我不可能去修改。再说var s = '[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]';这个在一些在线解析json的网站上,是可以正常解析的。说明格式是没有错误的那你就不要在外面再加单引号了,直接var s = <%=aaa%>;这个s就已经是json了。另外,你说的[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]在网上上解析是可以的,那是因为你输入了这样的文字进去,他取那个输入框的value的时候,浏览器会自行把\加上转义符。只是你看value的时候是一个字符串,字符串里面是看不见转义符的。 这是返回的数据:[{"a":"aa","b":"bbb"},{"a1":"<a href="#">dd</a>"}]从数据里面看,使用eval时 在a标签中 [{"a":"aa","b":"bbb"},{"a1":"<a href="就这样断开了。所以要使用转义,但是如果直接使用 \" 转义后也会变成 单引号 " 在使用eval解析时还是会出错。你可以先把 “ 去掉。然后 eval var s = '[{"a":"aa","b":"bbb"},{"a1":"<a href=\\"#\\">dd</a>"}]';alert(s);o = JSON.parse(s.replace(/\\\"/, '\\"'));alert(JSON.stringify(o));alert(o[1].a1) JSON.parse('[{"a":"aa","b":"bbb"},{"a1":"<a href=\\\"#\\\">dd</a>"}]') 小哥不要太纠结,我来告诉你,在html中属性用单引号来包裹也是可以的,所以可以钻个空子[{"a":"aa","b":"bbb"},{"a1":"<a href='#'>dd</a>"}]这样不就可以了吗 或者你只是想给A变现的text赋值的话,没必要吧整个A标签放到json串中,只把A标签的text放到json串中,等你解析的时候,解析到A标签中就可以了,想一个变通的办法去解决就可以了嘛 换个思路吧—— 既然用了json, 就不要返回html了 求 js 读取xml 类!(兼容问题) ext 中grid读取与jsp中转换后的json数据 table 中定义数组怎么赋值???高手指教。。。。 IE中的embed 如何清除JS动态创建的DIV? 使用showmodaldialog(),在win2000和winXP下显示不同,如何解决? js提交值到当前页面的问题 ******frame问题*****100相送。 help me! 为什么调用函数的时候,被调用的函数中if会出现失效的情况 使用了jquery后出现问题 jQuery Mobile 还是 Bootstrap
我这个例子,s已经直接赋值了,还要alert干什么?
序列化json的时前后不要加引号
直接用 var s=[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]
JSON.parse(s)
你不仅要对"转移,还要对\转移,所以要3个\
关键是这个值是后台返回的。 使用Newtonsoft.Json中的JsonConvert.SerializeObject()方法的。我不可能去修改。再说var s = '[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]';这个在一些在线解析json的网站上,是可以正常解析的。说明格式是没有错误的
关键是这个值是后台返回的。 使用Newtonsoft.Json中的JsonConvert.SerializeObject()方法的。我不可能去修改。再说var s = '[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]';这个在一些在线解析json的网站上,是可以正常解析的。说明格式是没有错误的那你就不要在外面再加单引号了,直接var s = <%=aaa%>;这个s就已经是json了。
另外,你说的[{"a":"aa","b":"bbb"},{"a1":"<a href=\"#\">dd</a>"}]在网上上解析是可以的,那是因为你输入了这样的文字进去,他取那个输入框的value的时候,浏览器会自行把\加上转义符。
只是你看value的时候是一个字符串,字符串里面是看不见转义符的。
[{"a":"aa","b":"bbb"},{"a1":"<a href="#">dd</a>"}]
从数据里面看,使用eval时 在a标签中 [{"a":"aa","b":"bbb"},{"a1":"<a href="就这样断开了。
所以要使用转义,但是如果直接使用 \" 转义后也会变成 单引号 " 在使用eval解析时还是会出错。你可以先把 “ 去掉。然后 eval
alert(s);
o = JSON.parse(s.replace(/\\\"/, '\\"'));
alert(JSON.stringify(o));
alert(o[1].a1)
这样不就可以了吗