我有一些 JSON,基本上看起来像这样:
{
"inactive_user": {
"name": "A",
"id": "1",
"dob": "01011990",
},
"active_staff": {
"id": "B",
"dob": "2",
},
"active_student": {
"name": "C",
"pid": "3",
"dob": "01011990",
},
"no_securityquestion": {
"name": "D",
"pid": "4",
"dob": "01011990",
}
}
我想要做的是,根据请求中给出的 id,返回具有该 id 的用户(inactive_user、active_staff 等)。
我该怎么做?到目前为止我尝试过的是:
for (var parent in userObject){
if(userObject.parent.pid === pid){
console.log(userObject.parent);
reply(userObject.parent);
}
}
但是 userObject.parent (其中 userObject 是整个 JSON 文件)只返回 undefined,这很奇怪,因为parent 将返回文件中父对象的每个名称(inactive_user 等)
最佳答案
要引用对象中的动态键,必须使用括号表示法。
for (var parent in userObject){
if(userObject[parent].pid === pid){
console.log(userObject[parent]);
reply(userObject[parent]);
}
}
另外,我在您的数据中看到,您有一些条目的 id 不是 pid
而只是 id
;我不知道您是否希望它们以与 pid
相同的方式对待,但如果是这样,您应该相应地更新您的条件。
关于javascript - 如何搜索 JSON 对象来查找特定的参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38124873/