【问题标题】:Counting keys in the JSON计算 JSON 中的键
【发布时间】:2018-11-22 09:57:27
【问题描述】:

这是我的json

    var json = {
    "pages": [{
        "name": "page1",
        "elements": [{
                "type": "text",
                "name": "question1"
            },
            {
                "type": "text",
                "name": "question2"
            },
            {
                "type": "text",
                "name": "question3"
            }
        ]
    }]
};

现在我尝试用这段代码计算这个 json

var keyCount  = Object.keys(json).length;

console.log(keyCount);  

输出为 1。

但我只需要数这个

  • { “类型”:“文本”, “名称”:“问题1”, },

  • { “类型”:“文本”, “名称”:“问题2”, },

  • { “类型”:“文本”, “名称”:“问题3”, }

应该是3。 有人可以帮我吗?

  var json = {
 "pages": [
  {
   "name": "page1",
   "elements": [
    {
     "type": "text",
     "name": "question1",
    },
    {
     "type": "text",
     "name": "question2",
    },
    {
     "type": "text",
     "name": "question3",
    }
   ]
  },
  {
   "name": "page2",
   "elements": [
    {
     "type": "text",
     "name": "question4"
    },
    {
     "type": "text",
     "name": "question5"
    },
    {
     "type": "text",
     "name": "question6"
    }
   ]
  }
 ]
}

现在我还有一个问题。

你会看到 "name": "page1" 现在它有一个 page1, page2

当我计算页面时,它只返回 3 个。

为什么返回这个不是6

 var count = json.pages[0].elements.length
    console.log(count);

6 来自

  • { "type": "text", "name": "question1", },
  • { "type": "text", "name": "question2", },
  • { “类型”:“文本”,“名称”:“问题 3”,} 第1页的问题1-3)

  • { "type": "text", "name": "question4", },

  • { "type": "text", "name": "question5", },
  • {“类型”:“文本”,“名称”:“问题6”,} (第 2 页的问题 4-6)

【问题讨论】:

    标签: json


    【解决方案1】:

    是的,因为您只有一个键:page。此外, pages 是一个数组,因此您应该访问第一个单元格。

    试着在里面数数:

    var count = json.pages[0].elements.length

    我建议使用 Jsoneditoronline 轻松查看 JSON 结构。

    【讨论】:

    • 嘿,你还有问题可以帮我吗?
    • 如果它与这个问题有关,是的。否则,请搜索您的问题是否已在本网站上得到解答,或发布新问题:)
    【解决方案2】:

    您想计算elements 属性下的元素数量。所以你应该这样做

    var keyCount = Object.keys(json.pages[0].elements).length;

    还有elements是一个数组所以

    var keyCount = json.pages[0].elements.length

    也可以。

    【讨论】:

      猜你喜欢
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 2010-12-20
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多