2014-02-14 224 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

如果你正在回答你自己的問題,那麼請至少提供一個正確的**解釋**,不要只是發佈代碼。乍一看,代碼與問題中的代碼無關。 –