2014-02-14 272 views
0

我从服务器接收JSON类似如下:转换多维JSON多维JavaScript数组

{"sent":{"Executive":1},"received":{"Executive":1},"viewed":{"Executive":1}} 

如何将这种结构转换为JavaScript多维数组?

我想是这样的:

var sent = [["Executive", 1]]; 

var received = [["Executive", 1]]; 

var viewed = [["Executive", 1]]; 

回答

1

最简单和最动态的方式无疑是一个很好的旧for -loop。 JavaScript未附带内置插件,使此任务更容易。

1d阵列的一个例子。我把它留给线程创建者来添加另一个内部for循环。

var json_data = {"sent": 1, "received": 2}; 
var result = []; 

for(var i in json_data) 
    result.push([i, json_data [i]]); 
+0

我想,这已经让我未定义的结果。 –

0
var plotdata = []; 
      var scale = []; 
      var color = new Array(); 
      color[0] = "#3983C2"; 
      color[1] = "#F79263"; 
      color[2] = "#CB6FD7"; 
      color[3] = "#87B87F"; 
      color[4] = "#9ABC32"; 
      color[5] = "#D53F40"; 
      color[6] = "#999999"; 

      var x = 0; 
      for(var i in json_data) {  
       var obj = json_data[i]; 
       var d1 = [];    
       for(var k in obj) { 
        d1.push([k, obj [k]]); 
        scale.push([obj [k]]);  
       } 
       x++; 
       plotdata.push({ color: color[x], label: i, data: d1}); 
      } 
+0

如果你正在回答你自己的问题,那么请至少提供一个正确的**解释**,不要只是发布代码。乍一看,代码与问题中的代码无关。 –