echarts后台与前台json数据交互问题

时间:2022-07-28 21:11:53

我得到的json是把

List<Map<String, String>> 型数据转成json数组传到前台 格式为

[
 {
  name: "旅游",
  value: "3"
 },
 {
  name: "新浪旅游",
  value: "6"
 },
 {
  name: "发布",
  value: "189"
 },
 {
  name: "交通广播",
  value: "698"
 }
]

与echarts需要异步填入的数据格式不匹配,在后台做处理复杂

我这里采用前台处理的方式

如需得到

{
 "name": [
   "旅游",
   "新浪旅游",
   "发布",
   "交通广播"
   ],
 "value": [
   "3",
   "6",
   "189",
   "698"
   ]
}

格式则可以

$.get('test.do', {}, function(data) {
 var result = {};//结果json对象

 var listName=[];//name数组

 var listValue=[];//value数组


 $.each(data, function(index, item) {

  if (item.name != null) {

   listName.push(item.name);//循环添加name
   listValue.push(item.value);//循环添加value
  }
 });
 result['name']=listName;

 result['value']=listValue;
});




附注:

在前台json就是相当于后台的数组和对象

var json=[··,··,··];

这种可以直接 json[n]    (n为index)  数组类似

var json={·········};

json.KEY   与对象类似


当两种数组和对象混合时可以两种交错使用,必要时可以加上$.each()函数进行遍历