这是我的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。
但是我所需要的就是数
{ “ type”:“文字”, “ name”:“ question1”, },
{ “ type”:“文字”, “ name”:“ question2”, },
应该是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"
}
]
}
]
}
现在我有另一个问题。
您将看到“名称”:“ page1”,现在它具有page1,page2
当我计算页面时,它只返回3。
为什么返回的不是6
var count = json.pages[0].elements.length
console.log(count);
6来自
{“ type”:“ text”,“ name”:“ question3”,} 第1页的问题1-3)
{“ type”:“ text”,“ name”:“ question4”,},
答案 0 :(得分:2)
是的,因为您只有一个键:page
。此外,页面是一个数组,因此您应该访问第一个单元格。
尝试在其中进行计数:
var count = json.pages[0].elements.length
我建议使用Jsoneditoronline来轻松查看JSON结构。
答案 1 :(得分:1)
您要计算elements
属性下的元素数量。因此,您应该
var keyCount = Object.keys(json.pages[0].elements).length;
elements
也是一个数组,所以
var keyCount = json.pages[0].elements.length
也可以。