这是我的儿子
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。
但我只需要数一数
应该是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来自
发布于 2018-11-22 10:01:14
是的,因为您只有一个键:page。此外,页面是一个数组,因此您应该访问第一个单元格。
试着在里面数一数:
var count = json.pages[0].elements.length
我建议使用Jsoneditoronline在线轻松查看JSON结构。
发布于 2018-11-22 10:01:24
您希望计算elements属性下的元素数。所以你应该这么做
var keyCount = Object.keys(json.pages[0].elements).length;
另外,elements是一个数组,所以
var keyCount = json.pages[0].elements.length
也会起作用。
https://stackoverflow.com/questions/53428276
复制相似问题