在使用List的情况下,如果打印此列表,它将成为DocumentSnapshot的Instance,并且无法看到其内容。 当然,您可以通过使用[]指定每个DocumentSnapshot并查看.id属性来标识每个DocumentSnapshot。 有没有一种方法可以确定而不删除它?
答案 0 :(得分:0)
我认为,最简单的方法来确定documentSnapshot和json响应,您应该检出数据库结构并使用打印日志。
例如:
如果收到查询快照,则可以通过打印日志确定值。
print(snapshot);
print(snapshot.data);
// by knowing the runtime types you can manage different data accordingly.
print(snapshot.data.runtimeType);
通过这种方式,每次检查快照的runtimeType时,您都可以轻松确定列表,映射和数据类型的值。
例如:如果snapshot.data的运行时类型是一个映射,那么要管理映射键值对,您可以采用类似的方法,
Map map=snapshot.data;
map.forEach((key,value){
print("key : ${key}");
print("value : ${value}");
});
这样,您将能够打印出地图键值对的日志。
类似地,如果要管理列表类型的快照,
List list=snapshot.data;
for(int i=0;i<10;i++){
print("list : ${list[i]}");
print("list : ${list[i].runtimeType}");
}
通过这种方式,您可以轻松管理任何类型的json格式和快照。