Echart异步加载数据--前后端数据交换全过程(第一部分:后台部分)

不多BB直接上代码加过程:我通过SSH的离线查询查询结果

PageBean<Analysis> pageBean = customerService.findByPageSource(detachedCriteria, currPage, pageSize);

查询到的结果为如下:

 Analaysis [ana_id=0, ana_name=电话营销, ana_quantity=7]
 Analaysis [ana_id=1, ana_name=网络营销, ana_quantity=3]

显然这不是我们想到传到前端的JSON数据格式:

这一部分我也是想了有一会儿,如何把这个数据转变成为Echart能够接受的数据.

Echart前端能够接受的数据形式为:

[{"name":["电话营销","网络营销"],"value":[7,3]}]

让后我就慢慢往上面靠:

我定义两个数组:通过遍历将ana_name的数据放到names数组中.将ana_value的数组存放到ana_quantity中

然后将values[] , names[] 两个数组 放入list容器中.方便下面转化为JSON格式的数据

List<Analysis> list = pageBean.getList();
List<EcharData> list2 = new ArrayList<EcharData>();
EcharData data = new EcharData();
Long[] values = new Long[list.size()];
String[] names = new String[list.size()];

    for(int i=0;i<list.size();i++) {
	    Long ana_quantity = list.get(i).getAna_quantity();
	    String ana_name = list.get(i).getAna_name();
	    values[i]=ana_quantity;
	    names[i]=ana_name;
	    data.setValue(values);
	    data.setName(names);
    }
	list2.add(data);

后端最后的步骤就只剩下:将list中的2个对象转化为JSON格式的数据

JSONArray jsonArray = JSONArray.fromObject(list2);

		
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().println(jsonArray);

到这个地方后台的数据已经转化为JSON格式的数据.

[{"name":["电话营销","网络营销"],"value":[7,3]}]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值