日期:2014-05-17  浏览次数:20454 次

到底他妈的什么是标准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'}]"

最还是把那个单引号换成双引号