繁体   English   中英

更改highcharts的json数组格式

[英]Change json array format for highcharts

我在Java的@RestController类中使用JSONArray和JSONObject来为highcharts生成json数组。

输出格式如下: [{"17":183},{"16":185},{"15":178},{"14":241},{"13":326},{"12":193},{"11":175},{"10":132},{"9":42},{"4":12},{"3":306},{"2":362},{"1":382},{"0":305}]

我需要将其更改为以下格式: [[1,12],[2,5],[3,18],[4,13],[5,7],[6,4],[7,9],[8,10],[9,15],[10,22],[11,23],[12,13],[13,14],[14,23]]

使用JSONArray和JSONObject可以做到吗? 或我还有什么其他解决方案?

您需要使用内部数组而不是对象。 例如:

JsonArray result = Json.createArrayBuilder()
                       .add(Json.createArrayBuilder().add(1).add(12))
                       .add(Json.createArrayBuilder().add(2).add(5))
                       .build();

作为另一个解决方案,您可以在JS中解析该数据:

var parsedData = [];
$.each(json_data, function (key, val) {
  parsedData.push([parseInt(key, 10), val]);
});

并且数据必须按x值升序排序,因此也可能需要手动对数据进行排序:

parsedData.sort(function (a, b) {
  return a[0] - b[0];
});

暂无
暂无

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

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