2013-03-19 75 views
-2

我有以下的外部JSON文件,但在更大的尺寸看起来像这样:JSON到2d JavaScript数组

[{"time":1610.5,"Irradiance":1360.6718} 
,{"time":1611.5,"Irradiance":1360.6549} 
,{"time":1612.5,"Irradiance":1361.0528}] 

我想有这些转换为JavaScript数组,看起来像一个功能这个:

[[1610.5, 1360.6718], 
[1611.5, 1360.6549], 
[1612.5, 1361.0528]] 

我也想能够提取关键名称“时间”和“辐照度”。

+0

我是新来的这一点,并没有完全得到如何循环并提取数值并创建一个新的数组阵列 – user2187268 2013-03-19 16:04:36

回答

0

试试这个:

var js=[{"time":1610.5,"Irradiance":1360.6718},{"time":1611.5,"Irradiance":1360.6549} 
,{"time":1612.5,"Irradiance":1361.0528}]; 
var newarr=Array(); 
for(var i=0;i<js.length;i++) 
{ 
    arr=new Array(js[i].time,js[i].Irradiance); 
    newarr.push(arr);   
} 
console.log(newarr); 

小提琴http://jsfiddle.net/kfaWx/

+0

真棒这是我一直试图得到,但无法弄清楚谢谢 – user2187268 2013-03-19 16:11:20

1

假设你的数组被命名为data

converted = data.map(function(x) { return [x.time, x.Irradiance]; }); 

编辑提取密钥需要假设数组中的对象是同质的。

var keys = []; 
for (var k in data[0]) { keys.push(k); } 

现在阵列keys将包含被在data[0]发现密钥;即,['time', 'Irradiance']。请注意,如果您environment supports it,你也可以这样做:

var keys = Object.keys(data[0]); 
+0

cool可以工作,现在我怎么能提取出键值名称,假设这些键名是用各种数据集更改的 – user2187268 2013-03-19 16:08:07

+0

@ user2187268请参阅编辑 – Xophmeister 2013-03-19 16:18:42

+0

谢谢Xophmeister – user2187268 2013-03-19 17:57:33