jsp如何在后台将ArrayList中数据转换成json类型的?前台ajax(js代码中又如何获取这些数据)?

shanjiehgx 2012-03-12 02:52:16
我用的spring mvc框架,后台controller中ArrayList<ArchiveInfo> archInfoList=new ArrayList<ArchiveInfo>();其中ArchiveInfo是我自己定义的一个类(档案信息,包含档案的多条属性),请问我该如何将这个ArrayList中的数据转换成json类型的?前台我用的ajax(没用任何框架),在前台我又该如何获取这些数据呢?谢谢各位了
...全文
1056 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
m540920181 2012-03-19
  • 打赏
  • 举报
回复
你使用的MVC,如果是struts2的话,就不用转了,struts2中有默认的json格式,直接在页面调用each方法,就可以得到值了
antoniok 2012-03-13
  • 打赏
  • 举报
回复

后台用循环来把数组组织成json格式返回。
前台用var json = jQuery.parseJSON(xhr);
shanjiehgx 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 acesidonu 的回复:]
用gson转成json
[/Quote]



谢谢你的回复,可是我的问题是如何在后台将其转换成json类型的,现在我知道代码应该这么写:
JSONArray jsonArray =new JSONArray(); //将一个Java对象转换成json的Array格式
JSONObject jsonObject = new JSONObject(); //将Java对象转换成一个json的Object形式
for(int i=0;i<archInfoList.size();i++){
archInfo=(ArchiveInfo)archInfoList.get(i);
jsonObject=JSONObject.fromObject(archInfo);
jsonArray.add(jsonObject);
}

可是我每次执行到这一行jsonObject=JSONObject.fromObject(archInfo);的时候,就会报错jsonplugin.JSONException: java.lang.reflect.InvocationTargetExcep,通过上网查,我知道这是spring注入的时候自动提供了getter方法造成的,可是我应该怎么样才能让spring注入的时候,不提供getter方法?
谢谢了
shanjiehgx 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dafdafdaf 的回复:]
使用ajax的固定形式
$.ajax(){
...
...
}
首先此ajax更具POST/GET方式传参数、变量到servlet中(根据xml配置路径),然后在后台计算得到arraylist列表返回到ajax的data中,并获取,
最后使用遍历的方式将集合中的值传出div层
从而达到无刷新页面更新页面中的数据
[/Quote]

谢谢你的回复,可是我的问题是如何在后台将其转换成json类型的,现在我知道代码应该这么写:
JSONArray jsonArray =new JSONArray(); //将一个Java对象转换成json的Array格式
JSONObject jsonObject = new JSONObject(); //将Java对象转换成一个json的Object形式
for(int i=0;i<archInfoList.size();i++){
archInfo=(ArchiveInfo)archInfoList.get(i);
jsonObject=JSONObject.fromObject(archInfo);
jsonArray.add(jsonObject);
}

可是我每次执行到这一行jsonObject=JSONObject.fromObject(archInfo);的时候,就会报错jsonplugin.JSONException: java.lang.reflect.InvocationTargetExcep,通过上网查,我知道这是spring注入的时候自动提供了getter方法造成的,可是我应该怎么样才能让spring注入的时候,不提供getter方法?
谢谢了
Acesidonu 2012-03-12
  • 打赏
  • 举报
回复
用gson转成json
suncycle 2012-03-12
  • 打赏
  • 举报
回复
使用ajax的固定形式
$.ajax(){
...
...
}
首先此ajax更具POST/GET方式传参数、变量到servlet中(根据xml配置路径),然后在后台计算得到arraylist列表返回到ajax的data中,并获取,
最后使用遍历的方式将集合中的值传出div层
从而达到无刷新页面更新页面中的数据

52,782

社区成员

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

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