java中如何用json格式发送并接受arrayList?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何用json格式发送并接受arrayList?相关的知识,希望对你有一定的参考价值。

比如我在jsp页面上如何以json格式封装一个list?
比如我在后台获取了一个list,如何一json的格式发送到前台?

这个要用到json的jar包 json-lib-2.x  ,然后用JSONArray对象封装list ,最后把jsonarray放入jsonobject中封装成json对象。当然了  如果你用框架的话 人家有封装json对象的机制。原生态servlet就自己用json包封装呗  给段例子给你刚写的 :

参考技术A 首先你要支持Json,就应该先引入Json的jar包们,这个得有劳你自己查一查需要什么包。

然后调用方法,把List转成Json格式:
JsonConfig config = new JsonConfig();
JSONArray json = JSONArray.fromObject(obj,null);
String jsonStr = json.toString();
那么返回的就是一个json字符串,至于要到前台去,这就不难了吧,直接:

response.getWriter().print(jsonStr);本回答被提问者和网友采纳
参考技术B 这个涉及到Ajax
var txt = xhr.responseText; //txt为后台发送的json数组对象
var sales = eval("("+txt+")"); //sales为json对象数组
参考技术C JsonConfig config = new JsonConfig();
JSONArray json = JSONArray.fromObject(obj,null);
String jsonStr = json.toString();
参考技术D 这个问题需要讲清楚很困难

java中如何用json接收一个list?

比如说我用了struts2 在action中得到一个list
在后台如何传递到前台?以及在前台jsp页面如何接收这个list?

可以使用三种方式,用json接收一个list,方法如下:

1、使用org.json.JSONArray包:

JSONArray json = new JSONArray();
   for(User u : list)
       JSONObject jo = new JSONObject();
       jo.put("id", u.getId());
       jo.put("title", u.getName());
       json.put(jo);
   

2、使用net.sf.json包下JSONArray的静态方法:fromObject(list), 这是网上大多是直接用此方法快捷转换JSON,但是对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据:

JSONArray json = JSONArray.fromObject(list);

3、使用google的gson,将list转为json字符串:

Gson gson = new Gson(); 
String str = gson.toJson(list);
参考技术A list可以直接传到前台的,用c标签 <c:forEach>标签可以直接得到,但在action中要写该list的有关的get set方法本回答被提问者采纳 参考技术B 第一种方法 在action类中 声明一个list集合如:private List list;生成getter和setter方法;
然后通过方法action的方法给list赋值;然后页面通过struts2标签接受即可;
<s:iterator var="ent" value="list">
<s:if test="%#statu.odd">
<font color="red"><s:property value="#ent" />
</font>
</s:if>
<s:else>
<s:property value="#ent" />
</s:else>
</s:iterator>

第二种方法 首先 在action类中;private String jsonData;生成getter和setter方法;
通过json 驱动包带的JSONArray json = JSONArray.fromObject(list);转换成json格式
setJsonData(json.toString());
在你返回成功跳到的页面 定义 :$(jsonData);
然后通过ajax 接受 就可以了!
建议使用第一种方法

以上是关于java中如何用json格式发送并接受arrayList?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中如何用DOM4J将一个字符串解析成XML格式

java中如何用json接收一个list?

java web 中如何用一个动态的table表接受数据库中的数据

java中如何用Date类型接收系统当前时间

java中如何用base64解码图片,并返回图片,不保存。

java中如何用Pattern和Matcher类验证日期和时间,怎么写正则表达式?