我需要从firestore中的以下数据结构中获取formName和id的数据。如何在这种情况下获取数据,如嵌套对象?
答案 0 :(得分:4)
嵌套值转换为Java中的地图,所以这样的事情应该是这样做的:
DocumentReference docRef = db.collection("employees").doc("JdkK...");
docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
Map<String, Object> forms = documentSnapshot.get("dynForms");
for (Map.Entry<Object, Object> form: forms.entrySet()) {
String key = (String) form.getKey();
Map<Object, Object> values = (Map<Object, Object>)form.getValues();
String name = (String) values.get("formName");
}
}
})
答案 1 :(得分:0)
您可以应用绑定技术来映射对象/数组/变量。为此你可以使用jackson 2或gson。例如,关于jackson 2的使用,请参阅参考:https://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/