我從 Firebase 實時資料庫資料中獲取task.getResult().getValue()。看起來像:
{
jyIibta0UWaRF2={Name=Value1, Surname=Value2},
Oy8r5SEYacKKM2={Name=Value3, Surname=Value4}
}
我怎樣才能將它轉換為陣列。所以我可以通過它的索引找到一個專案。
喜歡:
data[1][1]; //Must return "Surname=Value4"
uj5u.com熱心網友回復:
要將物件轉換為陣列,您可以執行以下操作:
const obj = {
jyIibta0UWaRF2: {Name: "Value1", Surname: "Value2"},
Oy8r5SEYacKKM2: {Name: "Value3", Surname: "Value4"}
}
let data = [];
Object.keys(obj).forEach((key) => {
data.push(["Name=" obj[key].Name, "Surname=" obj[key].Surname]);
});
console.log(data[1][1]);
但既然你提到這來自 Firebase 實時資料庫,我建議DataSnapshot從那里學習導航課程。給定snapshot您顯示的結構,您可以使用以下命令進行導航:
for (DataSnapshot child: snapshot.getChildren()) {
Log.d("Firebase", child.getKey()); // "jyIibta0UWaRF2", "Oy8r5SEYacKKM2"
Log.d("Firebsae", child.child("Surname").getValue(String.class); // "Value2", "Value4"
}
這使用兩種方式在 a 中導航資料DataSnapshot:
- 如果你不知道你需要什么的關鍵,你可以用
getChildren(). - 如果您知道所需內容的密鑰/名稱,則可以使用
child(...).
并檢索資料:
getValue(...)使用屬性的資料型別呼叫(String.class在本例中為 a。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318712.html
