如何searchJSON对象以查找特定的参数值?
我有一些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文件)只是返回未定义,这是奇怪的,因为父将返回文件中的父对象的每个名称(inactive_user和什么不)
要引用对象中的dynamic键,您必须使用括号表示法。
for (var parent in userObject){ if(userObject[parent].pid === pid){ console.log(userObject[parent]); reply(userObject[parent]); } }
另外,我在您的数据中看到,您有一些条目,其中id不是pid
而是id
; 我不知道你是否希望他们像pid
一样对待,但是如果是这样,你应该相应地更新你的状态。
尝试这个,
for (var parent in userObject) { if (userObject[parent].pid === "3") { console.log(userObject[parent]); reply(userObject[parent]); } }