后台将list封装到json里边怎样从前台得到呢?要详细

coffee_vip 2012-03-21 02:07:00
前台通过jQuery怎样获得后台传过来的json呢?我是将list封装到json的?我现在没办法读取数据!
...全文
1233 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BoykaYuri 2013-01-31
  • 打赏
  • 举报
回复
for循环改成这样 for (var key in data) { data[key].sh_id和data[key ].sh_name }
coffee_vip 2012-03-26
  • 打赏
  • 举报
回复
不是啊,我没用android的Gson啊,我做的是javaweb项目,data[i].sh_id和data[i].sh_name传过来总显示的是undefined
雨焰 2012-03-23
  • 打赏
  • 举报
回复
你可以说使用android提供的gson--》jar包,调用里面的Gson类
服务器端:
Gson gson=new Gson();
String json=gson.toJson(list);
out.print(json);//将list转换的string传输出去
客户端:
String result=从客户端接收过来的字符串;
Type type=new TypeToken<List<E>>(){}.getType();
Gson gson=new Gson();
List<E> list=gson.fromJson(result,type);
这样你就可以操作了。。。。
coffee_vip 2012-03-22
  • 打赏
  • 举报
回复
各位你们看看我的代码哪里错了
这是我的后台代码:
int b_id =Integer.parseInt(request.getParameter("b_id"));
try {
List<Shanghu> list=new Fun().fun6(b_id);
for(int i=0;i<list.size();i++)
System.out.println(list.get(i).getSh_id()+list.get(i).getSh_name());

JSONArray shanghu=new JSONArray(list);
PrintWriter out=response.getWriter();
out.print(shanghu.toString());
out.flush();
out.close();
} catch (BusinessException e) {
e.printStackTrace();
}

这是我的前台代码:js部分
function fun2(b_id){
$.ajaxSetup({cache:false});
$.getJSON(
"selectsh.do",
{"b_id":b_id},
function(data){
$("#shanghu").empty();
$("#shanghu").append("<option value=\"-1\">请选择</option>");

for(var i=0;i<data.length;i++){
alert(data[i].sh_id);
$("#shanghu").append("<option value=\""+data[i].sh_id+"\">"+data[i].sh_name+"</option>");
}
},
"json"
);
}
我可以得到从后台得到传过来的对象,但是显示的时候只是显示undefined,我郁闷了!
沁子 2012-03-21
  • 打赏
  • 举报
回复
4楼正解
jquery同步/异步调用,回调函数拿结果
yn00 2012-03-21
  • 打赏
  • 举报
回复

$.ajax({
url :'getSisName.jsp', //后台处理程序
type:'post', //数据发送方式
dataType:'json', //接受数据格式
success:callbackFun //回传函数(这里是函数名)
})
function callbackFun(data){
alert(data)//data就是后台传到前台的数据
$.each(data.sisName,function(i, item){

});
}
根正苗红 2012-03-21
  • 打赏
  • 举报
回复
首页你ajax返回数据拿到一个json数组。再去循环这个json数组。
m540920181 2012-03-21
  • 打赏
  • 举报
回复
如果是struts2不用使用json转换,直接把list ,set ,get ,在jsp页面就可以得到了
然后在页面要使用$.getJSON(url,function(date){
$.each(date,function(index,value){
alert(value);//这样就可以得到了
}
})
dryZeng 2012-03-21
  • 打赏
  • 举报
回复
封装了,你要out.print到页面上来啊。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧