2017-07-26 65 views
0

它可能是重複的,對不起,但我不明白(對firebase和JS的新的)。解析firebase對象javascript

我有一個快照 from firebase,但我不明白如何解析該快照對象。

這裏是我的代碼:

var obj = snapshot.val(); 
console.log(JSON.stringify(obj)); 

它的輸出如下:

{"-KpxDFnJEt2xlD21lzyh":{"chatid":"6qKi8xO5vxdrcKFd5wqUNUkTupg2PNQjC87cFNcKxYkDoYMdhH95LCK2"}} 

我想在一個單獨的變量此-KpxDFnJEt2xlD21lzyh價值chatid成獨立的變量,但不能。

我該怎麼辦?

回答

1

拿到鑰匙名稱及其chatid值:

var json = { 
 
    "-KpxDFnJEt2xlD21lzyh": { 
 
    "chatid": "6qKi8xO5vxdrcKFd5wqUNUkTupg2PNQjC87cFNcKxYkDoYMdhH95LCK2" 
 
    } 
 
} 
 
for (key in json) { 
 
    if (!json.hasOwnProperty(key)) continue; 
 
    console.log(key); 
 
    console.log(json[key].chatid); 
 
}

+1

確切說工作,感謝爵士:) –

0

像下面這樣的東西?

for (var i = 0; i < Object.keys(obj); i++) { 
    console.log(Object.keys(obj)[i]); // -KpxDFnJEt2xlD21lzyh 
    console.log(obj[Object.keys(obj)[i]]["chatid"]); // 6qKi8xO5vxdrcKFd5wqUNUkTupg2PNQjC87cFNcKxYkDoYMdhH95LCK2 
} 

這將通過JSON對象循環獲取每個鍵,打印鍵和聊天ID。

0

您可以訪問對象Object.Keys中的鍵,它將返回一個數組。在索引0處,您將擁有第一把鑰匙。同樣,要訪問值,可以使用Object.Values,它會返回一個數組。

var response = {"-KpxDFnJEt2xlD21lzyh":{"chatid":"6qKi8xO5vxdrcKFd5wqUNUkTupg2PNQjC87cFNcKxYkDoYMdhH95LCK2"}}; 
 

 
var id = Object.keys(response); 
 
var chats = Object.values(response); 
 

 
console.log(id[0]); 
 
console.log(chats[0]['chatid']);