【发布时间】:2014-12-16 10:59:52
【问题描述】:
我已成功实现 JSONP 请求的代码,检索多个国家/地区的数据并将它们显示为图表中的线条。
但是,我还需要从 JSON 中获取标题、单位、版权等,才能在图表上显示这些元素。
现在,我想知道如何做到这一点。
JSON 响应可能如下所示:
[
[
"series",
[
{
"data": [
[
2007,
2239300
],
[
2008,
2237490
],
[
2009,
2167070
],
[
2010,
2204450
]
],
"name": "France"
},
{
"data": [
[
2007,
2324234
],
[
2008,
3456352
],
[
2009,
1241422
],
[
2010,
4543231
]
],
"name": "Germany"
}
]
],
[
"title",
{
"text": "Title here"
}
],
[
"yAxis",
{
"text": "The units here"
}
]
]
那时我的客户的代码需要更改。目前它看起来像这样:
$.getJSON(url, {selectedCountries: "France,Germany,Switzerland", type: "jsonp"})
.done(function(data)
{
options.series = data;
var chart = new Highcharts.Chart(options);
})
.fail(function(jqxhr, textStatus, error)
{
var err = textStatus + ", " + error;
console.log( "Request Failed: " + err );
})
我猜它一定会变成这样的:
options.series = data['series']['data'];
options.title = data['title'];
但这不起作用。谁能给我一个提示我应该做什么?非常感谢!
【问题讨论】:
-
所以你需要在json中准备正确的表格(与图表配置相同,包括数据),加载并运行图表。
-
@Sebastian:谢谢。我认为它会那样工作。但是什么是正确的 json 以便 Highcharts 可以运行呢?上面的 JSON 代码是 JSON 正确的。而且我想在客户端我需要一个不同于“options.series = data”的命令。你可以再详细一点吗?那真的很有帮助。非常感谢!
-
JSON 我的意思是返回带有配置的对象,例如 { "xAxis":{"title":{"text":"aaa"}},"series":[{"data":[ 1,2,3]}]},您可以加载它并在回调中初始化图表(如您所述)。
-
谢谢。但我还是不明白。您的 JSON 括号看起来与我从 JSON 调用中收到的不同...我提出了 a fiddle,这也许可以帮助我理解这个问题。非常感谢您的帮助!
标签: json highcharts jsonp series