Javascript 如何根据内容计算JSON中的字段数

Javascript 如何根据内容计算JSON中的字段数,javascript,json,Javascript,Json,我是JSAN新手,这可能是一个noob问题,但我似乎找不到答案,我想可能是因为我缺乏正确的术语 基本上,我试图计算JSON文件中有多少“活动”字段被设置为true和false,并将这些值返回给一个变量。我只是想弄清楚怎么做才好 例如,我的JSON名为data,如下所示: { "systems": [ { "name": "SV001", "IP": "10.1.1.101", "active": "true" }, {

我是JSAN新手,这可能是一个noob问题,但我似乎找不到答案,我想可能是因为我缺乏正确的术语

基本上,我试图计算JSON文件中有多少“活动”字段被设置为true和false,并将这些值返回给一个变量。我只是想弄清楚怎么做才好

例如,我的JSON名为data,如下所示:

{
"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"
    }
]}

任何帮助都将不胜感激。

您可以从类似字符串的
var json=json.parse(jsonString)然后通过循环可以获得值

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

for(var i=0iyou可以使用
var json=json.parse(jsonString)
将字符串转换为js对象。然后使用
for
循环进行计数,您可以按照Claudio的建议进行计数,然后一行:
json.map(函数(a){return a.active==“true”?1:0})。reduce(函数(a,b){return a+b})
这就成功了。通过添加一个else参数,它还报告了有多少个字段为false,这太棒了。我理解for循环的工作原理,但您能否解释一下,它如何知道在没有明确告知要查找什么的情况下检查活动字段是否为true/false?