簡體   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