此问题已在此处有答案:
How can I access and process nested objects, arrays, or JSON?(31答案)
16小时前关闭
我有这个json响应,在迭代这个json结构时遇到了困难。这个想法是打印写在方括号内的数字,如果它们与另一个json对象“Data”Json匹配。在这种情况下,6099应该打印。
响应和数据
var Response = {
"Employee" : {
"John" : [ "6131" ],
"Alex" : [ "402537" ],
"Mary" : [ "6039" ],
"Java" : [ "6039" ],
"Anna" : [ "6099" ]
}
}
var Data = [
{
"empName": "Anna"
}
]
我尝试了forEach,但因为Response不是数组或集合,所以它不起作用,并给出错误“Response.employee.forEach不是函数”,并且无法理解如何在json对象上迭代。
var Data1 = JSON.parse(Data)
var res= JSON.parse(Response)
res.Employee.forEach(function(res1) {
var test = res1
if(Data1.empName== test){
console.log(test[0])
}
});
预期输出应为:6099年
2条答案
按热度按时间i7uq4tfw1#
例如,你可以使用for...in循环来迭代键,然后你可以检查当前键是否匹配empNamee。如果是,你可以在方括号中打印数字:
nlejzf6q2#