日期:2014-05-16  浏览次数:20402 次

json复杂对象无法被jquery解析
各位牛人好!

本程序后台是jsp,前台用jquery-1.4.2.min.js

用org.json.jar包生成了json对象,传到前台的jquery用datatype:"json",总是无法解析 去掉datatype:"json"就可以输出

生成的json对象为:
[{"uid":"w","is_manager":{"id":"1","factory_id":"1","factory_con_person":"0","remark":"0","product_name":"0","factory_num":"0","is_old":"0","factory_con_num":"0","factory_name":"1"},"name":"wu"}]

网上找了很多方法,据说jquery1.4.2对json要求严格了,但是我是用org.json.jar包生成json的,应该是标准的json对象咋,所有键值都有双引号的

请各位牛人帮帮忙
------解决方案--------------------
引用:
Quote: 引用:


我又测试了一下,你的那1条json数据,无问题,可以获取数据。
是不是你还有其他测试数据,并非这一条。如果还有问题,那就是数据里有非法字符了,看看数据里有没有\{}等等json的关键字。

另外你说: 去掉datatype:"json"就可以输出。
这样的话,那你就去掉或写成text吧,json本身就是text,只不过写成json后,便于区分罢了。。。

补充一下,如果是text格式的话,要使用
var mJSONData = [];
eval(" mJsonData =" + jsonData);

来进行赋值,才可按照json格式来使用。此时的变量就变成了mJsonData。
你就都试一下吧。总有适合于你的方法。
------解决方案--------------------
现在浏览器一般用自带的Json做解析 Json.Parse()