在javascript中迭代json数组
嗨,我已经生成了以下json,我可以迭代一下吗 我已经使用一些网站验证了这个josn 下面只是一个例子,可以有更多的部分,如数学,逻辑推理,英语 它们也可以有各自的类型在javascript中迭代json数组,javascript,json,Javascript,Json,嗨,我已经生成了以下json,我可以迭代一下吗 我已经使用一些网站验证了这个josn 下面只是一个例子,可以有更多的部分,如数学,逻辑推理,英语 它们也可以有各自的类型 { "MATHS": [ { "Section": "MATHS", "Type": "INCORRECT", "Count": "5" }, { "Section": "MATHS", "Type": "NOT SO
{ "MATHS": [
{
"Section": "MATHS",
"Type": "INCORRECT",
"Count": "5"
},
{
"Section": "MATHS",
"Type": "NOT SOLVED",
"Count": "20"
}
],
"LOGICAL REASONING": [
{
"Section": "LOGICAL REASONING",
"Type": "CORRECT",
"Count": "1"
},
{
"Section": "LOGICAL REASONING",
"Type": "INCORRECT",
"Count": "4"
},
{
"Section": "LOGICAL REASONING",
"Type": "NOT SOLVED",
"Count": "20"
}
]
}
我已经搜索了关于堆栈溢出的5个问题,但没有一个可以帮助我您的JSON有2个顶级元素。因此,您无法在逻辑上遍历整个文档(如果不将其展平) 但是你可以在“数学”和“逻辑推理”元素之间进行迭代 例如,使用下划线:
_(data.MATHS).each(function(item) {
var section = item.SECTION;
var type = item.TYPE;
var count = item.COUNT;
// Now do something with them
});
请注意,由于空间的原因,“逻辑推理”元素的访问方法不同
_(data['LOGICAL REASONING').each(function(item) {
var section = item.SECTION;
var type = item.TYPE;
var count = item.COUNT;
// Now do something with them
});
如果希望将所有数据放在一起,一种方法是:
var flattened = _.union(data.MATHS, data['LOGICAL REASONING']);
_(flattened).each(function(item) {
// Process...
});
查看下划线文档,了解有关可能性的更多信息。剥猫皮的方法很多
干杯。也许,也许从第一个链接我只能得到数学不算数或其他东西,在批评之前,只是对问题进行概述,这些问题在各个方面都与此不同。也许这有助于开始:
for(数据中的var prop){for(var i=0;i
<代码>数据是从JSON解析的对象。这将迭代数组中的所有对象,您可以访问所需的属性。顺便说一句,“如果财产名称是动态的,我事先不知道怎么办?”一节对此进行了解释。这对我来说很好。你看过控制台了吗?你没有看到记录的对象吗。如果这不是你想要的,我恐怕不清楚你想要什么(但它确实“起作用”)。