highcharts的多维JSON到javascript数组

highcharts的多维JSON到javascript数组,javascript,json,highcharts,Javascript,Json,Highcharts,以下是Laravel的Response::JSON()函数返回的JSON表示法: { "area":["zone1","zone2","zone3"], "target":["7.91","4.95","2.95"], "sales":["12.35","6.99","4.13"] } 如何使用javascript获取highcharts(列)的“区域”作为类别、目标和销售作为系列 例如,我如何获得以下信息: var cat=['zone1','zone2', 'zo

以下是Laravel的Response::JSON()函数返回的JSON表示法:

{
    "area":["zone1","zone2","zone3"],
    "target":["7.91","4.95","2.95"],
    "sales":["12.35","6.99","4.13"]
}
如何使用javascript获取highcharts(列)的“区域”作为类别、目标和销售作为系列

例如,我如何获得以下信息:

 var cat=['zone1','zone2', 'zone3'];
 var series1=[7.91, 4.95,2.95];
 var series2=[12.35,6.99,4.13];

有几种方法可以做到这一点。如果您使用的是纯javascript,则可以执行以下操作

cat = new Array();
series1 = new Array();
series2 = new Array();
for (var value in data["area"])
{
    cat.push(data["area"][value]);
}

for (var value in data["target"])
{
    series1.push(data["target"][value]);
}

for (var value in data["sales"])
{
    series2.push(data["sales"][value]);
}
或者,如果您希望使用
jQuery
解决方案,则可以执行以下操作:

var cat = $.map(data["area"], function(value,key) { return value; });
var series1 = $.map(data["target"], function(value,key) { return value; });
var series2 = $.map(data["sales"], function(value,key) { return value; });
这两种解决方案都将为您提供以下输出:

["zone1", "zone2", "zone3"]
["7.91", "4.95", "2.95"]
["12.35", "6.99", "4.13"]
编辑
因此,我使用的数据与您提供的JSON对象相同,其中每个值都是字符串,但您所需的输出(以及输出Highcharts所需的输出)是数字形式的系列数据,因此您需要考虑到这一点。

我想它可以帮助您

var data = {
  "area":["zone1","zone2","zone3"],
  "target":["7.91","4.95","2.95"],
  "sales":["12.35","6.99","4.13"]
};

var cat = data.area;
var series1 = data.target;
var series2 = data.sales;

最简单的是jQuery和完美的解决方案。优于.each()和for。