从firestore firebase获取数据

时间:2017-12-26 02:20:35

标签: android google-cloud-firestore

我需要从firestore中的以下数据结构中获取formName和id的数据。如何在这种情况下获取数据,如嵌套对象?

enter image description here

2 个答案:

答案 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/