2015-07-10 172 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

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