我有这个数据快照
"{post1: {pic: https://i.redd.it/ni6zhxh874011.jpg, title: title, desc: desc}, post2: {pic: https://i.redd.it/krj9miojg5011.jpg, title: awsdas, desc: desc2}}"
我希望找回" pic"每个帖子的价值。 snapshot.value [" pic"]不起作用,返回null。
提前致谢
这就是我收到未来构建器
的数据快照的方法Future<Object> _obj ()async {
Object _objdatabase;
await FirebaseDatabase.instance.reference().child("Communities").once().then((DataSnapshot snapshot) {
print(_objdatabase.toString());
_objdatabase = snapshot.value;
});
return _objdatabase;
}
答案 0 :(得分:2)
你想要的是在snapshot.value中迭代values
并将它们添加到列表中。
伪码:
for (var value in snapshot.value.values){
myList.add(value);
}
然后,根据您的使用情况,您将可以执行此类操作:
myList.forEach((v)=>print(v["pic"].toString)); //just an example
答案 1 :(得分:2)
这就是我做的事情
Map<dynamic, dynamic> map = snapshot.data.snapshot.value;
map.values.toList()[index]["pic"]
答案 2 :(得分:1)
如果您确定快照具有孩子的值成员作为地图对象
.bmx
答案 3 :(得分:0)
此代码检索节点的密钥:
DataSnapshot usuario = await messagesRef.limitToLast(10).orderByChild("email").equalTo(mail_emparejar).once()
.then((DataSnapshot snapshot) {
print(snapshot.value);
user_uid=snapshot.value.entries.elementAt(0).key;
........
result = 6TLD6RFIa0T0a3CuRW9FpB4HlXf2