gpt4 book ai didi

java - 如何从 Firestore 获取数组?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:04 28 4
gpt4 key购买 nike

我将下图所示的数据结构存储在 Cloud Firestore 中。我想保存 dungeon_group,这是一个存储在 Firestore 中的字符串数组。

我很难获取数据并将其存储为数组。我只能得到一个奇怪的字符串,但是有什么方法可以存储为字符串数组吗?下面是我使用的代码。

我可以在 Swift 中实现这一点,但不确定如何在 Android 中实现。

enter image description here

swift :

Firestore.firestore().collection("dungeon").document("room_en").getDocument { 
(document, error) in
if let document = document {
let group_array = document["dungeon_group"] as? Array ?? [""]
print(group_array)
}
}

Java 安卓:

FirebaseFirestore.getInstance().collection("dungeon")
.document("room_en").get()
.addOnCompleteListener(new
OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
DocumentSnapshot document = task.getResult();
String group_string= document.getData().toString();
String[] group_array = ????
Log.d("myTag", group_string);
}
});

控制台输出如下:

{dungeon_group=[3P, Urgent, Mission Challenge, Descended,Collaboration, Daily, Technical, Normal]}

最佳答案

当您调用 DocumentSnapshot.getData() 时,它返回一个 map 。您只是在该 map 上调用 toString(),这将为您提供文档中所有数据的转储,这并不是特别有用。您需要按名称访问 dungeon_group 字段:

DocumentSnapshot document = task.getResult();
List<String> group = (List<String>) document.get("dungeon_group");
  • 编辑:类型转换中的语法错误

关于java - 如何从 Firestore 获取数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50233281/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com