json复杂对象无法被jquery解析 jqueryjsonjsp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 该用jquery1.3 仍旧不行 生成的Json格式,看着确实有问题不知道生成前是个什么结构的数据 是用org.json.jar的JSONObject对象jsonobject.put("uid", user.getId())然后再用jsonarray.put(jsonobject) 是用org.json.jar的JSONObject对象jsonobject.put("uid", user.getId())然后再用jsonarray.put(jsonobject)json格式类似于如下:简单型:{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }复杂型:{ "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }你的这种类型属于复杂型延伸的一种。除了uid,看里面还有is_manager。而is_manager是个表结构。你可以单独测试某个字段。就很容易发现问题。或者直接手写json然后赋值,先注释掉那个工具包的put,再测试测试,就很容易找到错误点。 是用org.json.jar的JSONObject对象jsonobject.put("uid", user.getId())然后再用jsonarray.put(jsonobject)json格式类似于如下:简单型:{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }复杂型:{ "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }你的这种类型属于复杂型延伸的一种。除了uid,看里面还有is_manager。而is_manager是个表结构。你可以单独测试某个字段。就很容易发现问题。或者直接手写json然后赋值,先注释掉那个工具包的put,再测试测试,就很容易找到错误点。刚刚试了一下$.ajax({ data:{ uid:uid }, url:'userOneShow.jsp', type:'post', //dataType:'json', error:function(jsonData){alert('Error Loading JSON document' + jsonData);}, success:function(jsonData){ /* $.each(jsonData, function(i){ str+="用户编号:"+jsonData[i].uid+"<br>"; str+="用户名:"+jsonData[i].name+"<br>"; $.each(jsonData[i].is_manager, function(j){ str+="产品编号"+jsonData[i][j].product_id+"<br>"; }) })*/ $("#show").html(jsonData); } })success 是有被调用的,但是jsonData就是无法输出error 是没有被调用的 我又测试了一下,你的那1条json数据,无问题,可以获取数据。是不是你还有其他测试数据,并非这一条。如果还有问题,那就是数据里有非法字符了,看看数据里有没有\{}等等json的关键字。 另外你说: 去掉datatype:"json"就可以输出。这样的话,那你就去掉或写成text吧,json本身就是text,只不过写成json后,便于区分罢了 另外你说: 去掉datatype:"json"就可以输出。这样的话,那你就去掉或写成text吧,json本身就是text,只不过写成json后,便于区分罢了补充一下,如果是text格式的话,要使用var mJSONData = [];eval(" mJsonData =" + jsonData);来进行赋值,才可按照json格式来使用。此时的变量就变成了mJsonData。你就都试一下吧。总有适合于你的方法。 现在浏览器一般用自带的Json做解析 Json.Parse() 在动易整站里如何使用JAVASCRIPT? 通过event对象获取id javascript值类型与引用类型 jqGrid怎么给某个单元格添加事件 如何得到一个标签的坐标呢 浏览器的confirm窗口可以指定缺省获得焦点的按钮为“取消”吗? 表单验证问题 请教高手,关于打开新窗口 关于frame嵌套问题 ie8里用location.hash时报错 IE6下 JQ 的html()无法对tbody赋值 javascript中函数循环和判断,如何学,从哪里学起
是用org.json.jar的JSONObject对象
jsonobject.put("uid", user.getId())
然后再用jsonarray.put(jsonobject)
是用org.json.jar的JSONObject对象
jsonobject.put("uid", user.getId())
然后再用jsonarray.put(jsonobject)
json格式类似于如下:
简单型:{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }复杂型:{ "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }
你的这种类型属于复杂型延伸的一种。除了uid,看里面还有is_manager。而is_manager是个表结构。
你可以单独测试某个字段。就很容易发现问题。或者直接手写json然后赋值,先注释掉那个工具包的put,再测试测试,就很容易找到错误点。
是用org.json.jar的JSONObject对象
jsonobject.put("uid", user.getId())
然后再用jsonarray.put(jsonobject)
json格式类似于如下:
简单型:{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }复杂型:{ "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }
你的这种类型属于复杂型延伸的一种。除了uid,看里面还有is_manager。而is_manager是个表结构。
你可以单独测试某个字段。就很容易发现问题。或者直接手写json然后赋值,先注释掉那个工具包的put,再测试测试,就很容易找到错误点。刚刚试了一下$.ajax({
data:{
uid:uid
},
url:'userOneShow.jsp',
type:'post',
//dataType:'json',
error:function(jsonData){alert('Error Loading JSON document' + jsonData);},
success:function(jsonData){
/*
$.each(jsonData, function(i){
str+="用户编号:"+jsonData[i].uid+"<br>";
str+="用户名:"+jsonData[i].name+"<br>";
$.each(jsonData[i].is_manager, function(j){
str+="产品编号"+jsonData[i][j].product_id+"<br>";
})
})*/
$("#show").html(jsonData);
}
})
success 是有被调用的,但是jsonData就是无法输出
error 是没有被调用的
我又测试了一下,你的那1条json数据,无问题,可以获取数据。
是不是你还有其他测试数据,并非这一条。如果还有问题,那就是数据里有非法字符了,看看数据里有没有\{}等等json的关键字。
这样的话,那你就去掉或写成text吧,json本身就是text,只不过写成json后,便于区分罢了
这样的话,那你就去掉或写成text吧,json本身就是text,只不过写成json后,便于区分罢了
补充一下,如果是text格式的话,要使用var mJSONData = [];
eval(" mJsonData =" + jsonData);
来进行赋值,才可按照json格式来使用。此时的变量就变成了mJsonData。你就都试一下吧。总有适合于你的方法。