到底他妈的什么是标准json格式?
服务端返回格式
"{'rows':[{'UserId':'001','UserName':'wocao'},{'UserId':'002','UserName':'ooxx'}],'total':'1000'}"
用jquery的parseJson方法解析 老说格式错误 (jquery版本1.71最新的)
用 new Function("return "+data+"")()毛问题都木有
这是jquery的parseJSON方法里加的一段代码 后来我注释了这段代码才才行
为什么要加这玩意?
Attempt to parse using the native JSON parser first
if (window.JSON && window.JSON.parse) {/*用firedebug调式的时候 竟然进入这里了 我根本没有引用那个http://json.org/json2.js文件 这里竟然不显示undefined
ie和chrome则不会进入这里
*/
return window.JSON.parse(data);
}
if (rvalidchars.test(data.replace(rvalidescape, "@")
.replace(rvalidtokens, "]")
.replace(rvalidbraces, ""))) {
return (new Function("return " + data))();
}
------解决方案--------------------把小引号换成大引号,大引号换成小引号
------解决方案--------------------这个标准记得是从1。3还是多少版本开始的。。。
------解决方案--------------------"{'rows':[{'UserId':'001','UserName':'wocao'},{'UserId':'002','UserName':'ooxx'}],'total':'1000'}"
如果上面这个不行,可以试试:
"[{'rows':[{'UserId':'001','UserName':'wocao'},{'UserId':'002','UserName':'ooxx'}],'total':'1000'}]"
最还是把那个单引号换成双引号