Android 从映射数组中检索字段

Android 从映射数组中检索字段,android,google-cloud-firestore,Android,Google Cloud Firestore,在文档中,我有一个数组列表。每一个都包含一个包含多个字段的映射,如 如何从该数组中检索特定字段?例如,要检索“字段3”,我应该做什么?下面是地图阵列列表的示例 遍历arraylist中的每个贴图对象。迭代时,查找要提取其值的键。 ArrayList<Map<String, String>> itemData = new ArrayList<>(); Map<String , String> map1=new HashMap&l

在文档中,我有一个数组列表。每一个都包含一个包含多个字段的映射,如


如何从该数组中检索特定字段?例如,要检索“字段3”,我应该做什么?

下面是地图阵列列表的示例

遍历arraylist中的每个贴图对象。迭代时,查找要提取其值的键。

 ArrayList<Map<String, String>> itemData = new ArrayList<>();

         Map<String , String> map1=new HashMap<String, String>();
         map1.put("field1","usman");
         map1.put("field2","30");
         map1.put("field3","172");

        Map<String , String> map2=new HashMap<>();
        map2.put("field1","ahmad");
        map2.put("field2","32");
        map2.put("field3","180");
        itemData.add(map1);
        itemData.add(map2);


         for(Map<String,String> value:itemData){
            String result=value.get("field3");
            Log.d("TAG",result);
         }
arraylistitemdata=newarraylist();
Map map1=新的HashMap();
map1.put(“field1”、“usman”);
地图1.放置(“字段2”、“30”);
地图1.put(“字段3”、“172”);
Map map2=新的HashMap();
map2.put(“field1”、“ahmad”);
map2.put(“字段2”、“32”);
map2.put(“字段3”、“180”);
itemData.add(map1);
itemData.add(map2);
用于(映射值:itemData){
字符串结果=value.get(“field3”);
Log.d(“标签”,结果);
}

您需要遍历arraylist中的每个映射。迭代时,查找要提取其值的键。

此外,您的问题是如何从JSON数组中提取数据!!对的在firebase中导出数据将为您提供其原始类型,即JSON,您可以将其发布到此处。因此,您希望从单个子级或所有子级检索
“field 3”
属性的值吗?显示为数据库的更详细屏幕截图。请同时回复@AlexMamo@AlexMamo好的,这张图片是一个字段,用于显示在群聊中看到消息的人。文档表示一条消息及其所有详细信息。它包含一些字段,如消息、发送日期、发送人……以及一个名为“查看人”的数组列表,其中保存了谁看到了该消息。我想检查发送消息的用户是否与看到消息的用户相同。如果是,则什么也不做;否则,列表将更新为一个新的地图,其中包含相同的元素,即用户id和用户看到它的日期。实际上,我没有得到它。这两个贴图位于单个数组列表中。