2015-09-05 78 views
0

我想創建一個虛擬json數據並將其用於highChart。 這是我正在創建JSON數組爲圖表數據創建JSON

var summaryData = { 
        WestWorld:[ 
         {"Jan":7894}, 
         {"Feb":7845}, 
         {"March":5826}, 
         {"April":7930}, 
         {"May":1589}, 
         {"June":7891}, 
         {"July":9724}, 
         {"August":7403}, 
         {"September":5566}, 
         {"October":7733}, 
         {"November":1186}, 
         {"December":4456} 
        ], 
        EastWorld:[ 
         {"Jan":7410}, 
         {"Feb":9512}, 
         {"March":7520}, 
         {"April":8510}, 
         {"May":9965}, 
         {"June":72580}, 
         {"July":147}, 
         {"August":4489}, 
         {"September":6685}, 
         {"October":7036}, 
         {"November":8852}, 
         {"December":4569} 
         ] 
       }; 

現在我打算用這些數據繪製charts.I我能夠這樣做

for (var key in summaryData){ 
     console.log(summaryData[''+key+'']);  
     } 

這是檢索鍵安裝12個對象中的每一個的兩個數組。 我可以創造一個更好的辦法這個JSON對象&最小化,如果& for循環得到它的鍵&值

回答

0

你可以設置你的JSON像這樣:

var summaryData = { 
    WestWorld: { 
     "Jan":7894, 
     "Feb":7845, 
     ... 
    }, 
    EastWorld: { 
     "Jan":7410, 
     "Feb":9512, 
     ... 
    }  
}; 

這樣你就可以訪問任何而不必循環訪問WestWorldEastWorld中的陣列。例如:

summaryData.WestWorld.Jan => 7894 
0

summaryData具有兩個對象是陣列和在這種情況下的對象陣列。 這將檢索一個陣列和它的長度

console.log((summaryData.EastWorld).length); 

顯示其是與單個鍵的對象的第一個數組元素:值

console.log(summaryData.EastWorld[0]); 

以獲得其值

console.log(summaryData.EastWorld[0].Jan); 

甲函數檢索每個鍵:值對

function show(world) { 
var len = (summaryData[world]).length; 
var obj = ""; 
var ii = 0; 
for (ii; ii < len; ii += 1) { 
    obj = summaryData[world][ii]; 
    for (var key in obj) { 
     console.log(key + ' ==> ' + obj[key]); 
    } 
} 
} 
show("WestWorld"); 
show("EastWorld"); 

要成爲一個真正的JSON每個字符串需要雙引號
檢查與在線JSON驗證..