繁体   English   中英

如何将数据 JSON 解析为 highcharts.js 压缩气泡类型中的系列

[英]How to parsing data JSON to series in highcharts.js packedbubble type

我的 json 输出如下:

0: {api: 'Cars', method: 'GET', total: 3}
1: {api: 'Cars', method: 'POST', total: 4}
2: {api: 'Trucks', method: 'POST', total: 6}
3: {api: 'Boats', method: 'GET', total: 6}

以及我想重新创建数组以填充 Highchart.js 中的系列,类型为:packedbubble

[
 Cars: [
  {name: "GET", value: 3},
  {name: "PUT", value: 0},
  {name: "POST", value: 4},
  {name: "DELETE", value: 0}
 ], 
 Trucks: [
  {name: "GET", value: 0},
  {name: "PUT", value: 0},
  {name: "POST", value: 6},
  {name: "DELETE", value: 0}
 ],
 Boats: [
  {name: "GET", value: 6},
  {name: "PUT", value: 0},
  {name: "POST", value: 0},
  {name: "DELETE", value: 0}
 ]
]

建议的格式对于packedbubble系列不正确。 检查API 参考: https ://api.highcharts.com/highcharts/series.packedbubble.data

如果你想转换你的 json 数据,你可以这样做:

let data = [{api: 'Cars', method: 'GET', total: 3},
            {api: 'Cars', method: 'POST', total: 4},
            {api: 'Trucks', method: 'POST', total: 6},
            {api: 'Boats', method: 'GET', total: 6}];

let cars = [],
 trucks = [],
 boats = [];

data.forEach(obj => {
  if (obj.api === "Cars") {
    cars.push({
      name: obj.method,
      value: obj.total
    })
  } else if (obj.api === "Trucks") {
    trucks.push({
      name: obj.method,
      value: obj.total
    })
  } else if (obj.api === "Boats") {
    boats.push({
      name: obj.method,
      value: obj.total
    })
  }
})

...

  series: [{
    name: 'Cars',
    data: cars
  }, {
    name: 'Trucks',
    data: trucks
  }, {
    name: 'Boats',
    data: boats
  }]

演示: https ://jsfiddle.net/BlackLabel/juxg964q/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM