【问题标题】:How to fetch JSON data from HTML DIV on same page for Highcharts?如何从 Highcharts 的同一页面上的 HTML DIV 获取 JSON 数据?
【发布时间】:2015-10-20 12:28:47
【问题描述】:

我正在尝试渲染一个使用 JSON 数据作为其源的 Highchart。但是,它不是存储在不同的文件或网页中,而是在同一页面上的 HTML 分区中创建(来自 MYSQL 查询)。我可以对以下代码进行哪些更改,以便它从所需的 div 读取 JSON 数据(让我们称之为JSONContainer):

$.getJSON('data.json', function(data) {
    options.series[0].data = data;
    var chart = new Highcharts.Chart(options);
});

我尝试用getElementByID('JSONContainer')代替'data.json',但我想这不是正确的做法。我能做什么?

编辑: 这是我的代码:

$.getJSON("getElementById(JSONContainer)", function(json) {
    options.xAxis.categories = json[0]['data']; //rendering X Axis
    $.each(json, function( index, value ) {
             options.series[index-1] = value;  //Making sure we skip first as that is X Axis
    }); 
    chart = new Highcharts.Chart(options);
});

【问题讨论】:

  • data 得到了什么?
  • 这段代码中的data.json是一个json文件,里面存储了数据。
  • 不是那个..当你做$.getJSON时你得到什么回应?
  • 我得到的数据是 JSON 格式,即。键:用作图表来源的值
  • 粘贴你的 json 输出

标签: javascript jquery html json highcharts


【解决方案1】:

你不需要$.getJSON来获取已经在html div上的数据。

如果您的数据如下所示

<div id="JSONContainer">[{"name":"LOG_DATE","data":["2015-09-08","2015-09-09"]},{"name":"a","data":[30.5‌​,87.5]},{"name":"b","data":[55.5,82.4]},{"name":"c","data":[82,57.46]},{"name":"d‌​","data":[82.4,87.4]}]</div>

就这样做

var json = JSON.parse($('#JSONContainer').text());

options.xAxis.categories = json[0]['data']; //rendering X Axis
$.each(json, function( index, value ) {
    options.series[index-1] = value;  //Making sure we skip first as that is X Axis
}); 
chart = new Highcharts.Chart(options);

PS:键和值周围的" 很重要,因为 JSON 解析需要它。

希望对你有帮助!

【讨论】:

  • 我的代码中的一个小问题是我也在从 JSON 渲染 X 轴。你想让我把那部分代码贴出来让你检查一下吗?
  • 不需要..您可以将解析的 json 保存到一个单独的变量中,然后从中取出 X 轴并将其设置到图表上。如果你想让我检查一下,我可以:)
  • 您也可以添加您的 json 数据的一般结构吗?我需要密钥以及 json 如何像数组和对象一样格式化。您可以保留这些值..
  • [{"name":"LOG_DATE","data":["2015-09-08","2015-09-09"]},{"name":"a", "data":[30.5,87.5]},{"name":"b","data":[55.5,82.4]},{"name":"c","data":[82,57.46]} ,{"name":"d","data":[82.4,87.4]}]
  • 是的,所以它应该适合你。我已经在答案中为你更新了 js 代码。
猜你喜欢
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 2013-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
相关资源
最近更新 更多