2017-07-26 2 views
0

Es könnte doppelt sein, tut mir leid, aber ich konnte nicht verstehen (Neu bei Firebase und JS).Parsing Firebase Objekt Javascript

Ich habe eine Snapshot von Firebase, aber ich konnte nicht verstehen, wie dieses Snapshot-Objekt zu analysieren.

Hier ist mein Code:

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

gibt sie folgende:

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

Ich möchte diesen -KpxDFnJEt2xlD21lzyh Wert in einer separaten Variable und chatid in separate Variable zu bekommen, aber nicht in der Lage sein.

Was soll ich tun?

Antwort

1

Um den Schlüsselnamen und seinen chatid Wert zu erhalten:

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

+1

Genau das funktioniert, dank Sir :) –

0

Etwas wie das Folgende?

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 
} 

Das wird eine Schleife durch das Objekt JSON jeden Schlüssel bekommen, das Drucken der Schlüssel und ID halten.

0

Sie können auf Schlüssel in einem Objekt Object.Keys zugreifen, es wird ein Array zurückgegeben. Bei Index 0 haben Sie Ihren ersten Schlüssel. In ähnlicher Weise können Sie zum Zugriff auf den Wert Object.Values verwenden, es wird ein Array zurückgegeben.

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

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

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