2 qq 36151264 qq_36151264 于 2017.01.11 17:38 提问

如何从后台通过json传递一个集合到前台

后台有一个集合,需要传到前台,前台是异步刷新,通过json如何传递一个集合

10个回答

ljheee
ljheee   Rxr 2017.01.11 17:51
已采纳

list集合 里面都是后台处理好的数据,把list集合放到一个json对象里,后台用PrintWriter(json对象)去向前台输出

ljheee
ljheee 回复qq_36151264: ni 说的前台是用 jquery获取吗?最好用Servlet获取json解析完后,把要显示的数据项 交给jquery
一年多之前 回复
qq_36151264
qq_36151264 jquery的getjson怎么获取呢
一年多之前 回复
qq_36498920
qq_36498920   2017.01.11 17:37

先转成json字符串...然后用PrintWriter去向前台输出

qq_36151264
qq_36151264 json能存放list集合吗?数据比较多,字符串太麻烦
一年多之前 回复
yushiyoufight
yushiyoufight   Rxr 2017.01.11 18:27

前端用的什么框架,你应该想把数据存在table里面展示吧

z935580231
z935580231   2017.01.11 19:05

1.后台将数据序列化
2.前台ajax,$.getJson
你可以试试

qq_37315806
qq_37315806   2017.01.11 21:14

// 将Java对象转为json,并通过输出流写回客户端
public void java2Json(List object, String[] excludes) {
// 使用json-lib将PageBean对象转为json数据
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(excludes);// 指定哪些属性不需要
//防止死循环
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
String json = JSONArray.fromObject(object, jsonConfig).toString();
// 通过输出流将json数据写回客户端
ServletActionContext.getResponse().setContentType("text/json;charset=UTF-8");
try {
ServletActionContext.getResponse().getWriter().print(json);
} catch (IOException e) {
e.printStackTrace();
}
}

qq_37315806
qq_37315806 直接搬以前写的代码了
一年多之前 回复
datouniao1
datouniao1   2017.01.11 21:24

首先你的前台要发送一个请求,请求的种类很多,但是一般是采用的ajax:
$.ajax({
url : "../index",
type : 'post',
data : {
"data" : data
},
success : function(text) {
alert(text);
}
});
然后你要在后台接收一下,当然后台你使用的语言不同方法也是不同,就说java吧
String id=request.getParameter("data");
//根据id查找数据并且获取到一个json
然后:
response.getWriter().write(json);
这个样子,前台ajax里面的
success:function(text){
text--->就是从后台返回的json
}
希望对你有所帮助!

datouniao1
datouniao1   2017.01.11 21:24

补充:ajax里面的
data:{
data:id
}
前面的data是不需要加双引号的

JE_GE
JE_GE   2017.01.11 22:14
wzdlovewen
wzdlovewen   2017.01.12 08:54

我觉得转换对象是前台该做的事,通信过程应该只专注字符串的传递,大家都用string去传,我觉得是一个很好的规范吧

ak_random
ak_random   2017.01.12 16:56

把list转换成一个json字符串jsonStr,然后response.getWriter().write(jsonStr);
前台ajax接收,success:function(data) //data就是后台传过来的jsonStr
{
var a = JSON.parse(data);
for(var i = 0; i<a.length;i++)
{
alert(a[i]); //list中的每一个值都可以取出来
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何从页面传一个list集合对象到后台
JAVA web开发的过程中,时常会有这样的需求:一次性向数据库中的同一张表插入多条记录(例如同时插入多个用户),只用发起一次请求。这里我们以一个例子来说明如何解决这个问题: 前台页面代码如下:                后台代码(Action代码,用到了struts2这个框架) private List urls; OptUrl这个类中有一个属性是 mar
在jquery ajax中,如果从后台往前台传一个List集合,前台解析
1、第一种就是用jsonObject.put(“key”,value);,这里面的key相当于一个对象的属性,value就是属性对应的值 然后 jsonArray.add(jsonObject) 最后是reponse.print(jsonArray.toString()); 2、后台:       List test2 = new ArrayList();         User u
关于将前台向后台传递json格式集合,后台如何将接收并转为集合
import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; /** * JSON序列化工具 * @author Mountain * 2017年8月28日 下午3:27:17 */ public class JsonUtil { private Jso
springMVC 前台传参 后端集合接收 或者集合包含集合
努力
一般后台只有一个集合传到jsp页面来循环,当后台不是一个集合时,前台的循环
当后台查的都是不同的项目时,例如测站编码,所选时间段最大降雨时间,1小时累计降雨量,6小时累计降雨量。。。它们不是在一个集合里面,而是在多个集合里面。 注意下面红色部分。 jsp:                    当前位置:数据分析->雨情数据->最大时段降雨量                              
Jsp页面如何集合List传递到后台控制端
现在发现有两个方法: (1)将List转化为JSON字符串,通过ajax传递到后台 (2)蒋list放置在session会话里面,jsp页面编写                 java后台通过List listName=request.getsession.getAttribute("listName")获取; (通过request.setAttribute()不能传递到后台,因
解决后台传输list到前台以json格式
我用的框架是springmvc+hibernate,前段用easyui。 后台经过查询后得到一个list数据。 controller类: @RequestMapping("/getOrderInfo") @ResponseBody public void getOrderInfo(SearchDto searchDto, HttpServletRequest request,
Ajax后台传json格式数据到html
前台: $.ajax({ url : 'queryRegion', dataType: 'JSON', async : false , success: function(data){ var rg = $(document).find("#regionName"); for(var i=0;i<data.length;i++
json的基本传值方式(从前台到后台,再从后台到前台)
自己因为被json传值累得十分痛苦,所以痛定思痛,在实现了一个基本的传值方式后,在此上传资源!下载用过的朋友请多多指出不恰当的地方!
后台数组传递到前台<script>
服务端 数组 javaScript