2015-01-13 60 views
1

我想解析以下JSON:Javascript:如何在不知道鍵名的情況下解析json數組?

{"key_410441":{"hashId":"hash123","tube_id":"4accdefk31"}} 

哪裏key_410441是條目名稱表示對象的價值,下面的數組是對象的數據。

如何檢索它的值?

function defined(json) { 
    for (var i in json) { 
     var objId = json[i]. ???? 
    } 
} 
+3

爲什麼不用'json [i]'循環同樣的方式? –

+0

'(var i in json){ alert(json [i] .hashId) }' – Tyr

+0

哪個值?如果你的意思是'{「hashId」,「tube_id」}'對象,只是'var objId = json [i];' – Rhumborl

回答

0

像機器人Robok說,用Object.keys(object

,如果你的JSON看起來像{"key_410441":{"hashId":"hash123","tube_id":"4accdefk31"}}

function defined(json) { 
     var hashId = json[Object.keys(json)[0]].hashId 
     var tube_id = json[Object.keys(json)[0]].tube_id 
     } 
    } 

可以快捷使用json[Object.keys(json)]因爲你有olny一個物體

key_410441

0

對象鍵以陣列的形式由Object.keys(object)

0

回來,我想你正在使用jQuery和Ajax獲得來自外部文件中的JSON。然後將一段代碼將是: -

$.getJSON("aa.json", function(data) { 
        var obj = Object.keys(data), 
         json = data[obj]; 

        for(var s in json) { 
         console.log(json[s]); 
        } 
       }); 
+0

關鍵是*他不知道鍵'key_410441'。 –

+0

感謝您指出,更新! – ssbiswal1987

相關問題