2015-05-18 81 views
1

我是JS的新手這可能是一個noob問題,但我似乎無法找到答案,我認爲這可能是由於我缺少正確的術語。我如何計算基於其內容的JSON中的字段

基本上我試圖計算JSON文件中有多少「活動」字段設置爲true和false,並將這些值返回給變量。我正在迷失,試圖找出如何去做這件事。

例如,我的JSON命名爲數據,看起來像這樣:

{ 
"systems": [ 
    { 
     "name": "SV001", 
     "IP": "10.1.1.101", 
     "active": "true" 
    }, 
    { 
     "name": "SV002", 
     "IP": "10.1.1.102", 
     "active": "true" 
    }, 
    { 
     "name": "SV003", 
     "IP": "10.1.1.103", 
     "active": "false" 
    } 
]} 

任何幫助將不勝感激。

+0

您可以使用'var json = JSON.parse(jsonString)'將您的字符串轉換爲js對象。然後使用'for'循環來計算 –

+0

,你可以像克勞迪奧建議的那樣做,然後一行:'json.map(function(a){return a.active ==「true」?1:0})。減少(函數(a,b){返回a + b})' – EdgeCaseBerg

回答

1

你可以從字符串解析到json對象,如 var json=JSON.parse(jsonString);而不是通過循環,你可以得到的價值。

var count=0; 
for(var i=0i<json.systems.length;i++){ 
    if(json.systems[i].active){ 
    count++; 
    } 
} 

你可以在循環的末尾都有數。

+0

這個技巧。並且增加了一個** else **參數,它還會報告有多少是錯誤的,這是非常棒的。我明白** for **循環是如何工作的,但是你能否解釋它是如何知道如何檢查** active **字段是否爲真/假,而不明確地告知要查找什麼? –

相關問題