我有一些看起来像这样的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和不是)
答案 0 :(得分:2)
要引用对象中的动态键,必须使用括号表示法。
for (var parent in userObject){
if(userObject[parent].pid === pid){
console.log(userObject[parent]);
reply(userObject[parent]);
}
}
另外,我在您的数据中看到您有一些条目,其中ID不是pid
,而只是id
;我不知道您是否希望他们的处理方式与pid
相同,但如果是这样的话,您应该相应地更新您的情况。
答案 1 :(得分:0)
试试这个,
for (var parent in userObject) {
if (userObject[parent].pid === "3") {
console.log(userObject[parent]);
reply(userObject[parent]);
}
}