2015-07-10 175 views
0

如何从对象列表中获取关键值&值对象?从javascript中的对象列表获取关键值以及值

例如:

var globalObjJSON = { 
    "key1": { 
     "firstName": "", 
     "middleName": "", 
     "lastName": "", 
     "login": "", 
     "photoID": "" 
    }, 

    "key2" { 
     "firstName": "Test", 
     "middleName": "", 
     "lastName": "", 
     "login": "[email protected]", 
     "photoID": "" 
    }, 

    "key3" { 
     "firstName": "First", 
     "middleName": "", 
     "lastName": "User", 
     "login": "[email protected]", 
     "photoID": "" 
    } 
} 

那里,如果我查询例如“KEY1” 特定的键我期望的输出必须 {"key1":{"firstName":"","middleName":"","lastName":"","login":"","photoID":""}

回答

2

这应该工作,你正在创建具有键和值

function getKeyObj(key){ 
    var returnObj; 
    if(!key){ 
    return returnObj; 
    } 
    var value = globalObjJSON[key]; 

    if(value) { 
    returnObj = {}; 
    returnObj[key] = value 
    } 

    return returnObj; 

}一个新的对象

+0

它可能不是'未定义',但我同意'globalObjJSON [key]'是更好的选项 – kiran

+0

上述方法工作正常,谢谢你的帮助! –

+0

但是有没有更简单的方法来做一些预定义的方式在JavaScript中,以便我可以使用它?而不是写一个函数? –

2

你可以做到这一点略低打火机: http://jsfiddle.net/95fvqrfL/3/

var getObjectFromJSON = function(key, jsonObj){ 
    if(jsonObj[key]){ 
     var obj = { key: jsonObj[key]}; 
     obj = JSON.stringify(obj).replace('key', key); 
     return JSON.parse(obj); 
    } 
}; 

(编辑整理)

+0

关闭,但返回的对象将是'{“key”:...'而不是'{“key1”:...' –

+0

了解它,编辑代码:) – TheFrenchieCake

+1

有趣的方法,但它的工作原理! –