Java 如何从Hashmap中获取嵌套的Gson键(不是键的值)

Java 如何从Hashmap中获取嵌套的Gson键(不是键的值),java,android,Java,Android,我的要求是从json中收集键和键的值,并将其作为键值打印在列表视图中,这样就不会有预定义的键 我有一个名为ListDetailModel的嵌套对象,因为还有其他Pojo类的几个其他对象 现在我能够导出父对象ListDetailModel的键 我的问题是如何从同一个条目集对象派生嵌套POJO的键。我所知道的是,我可以为所需的Pojo类创建单独的对象并派生键。但我可以从同一个类中完成吗 Map<String,ListDetailModel> result = gson.fromJson(

我的要求是从json中收集键和键的值,并将其作为键值打印在列表视图中,这样就不会有预定义的键

我有一个名为ListDetailModel的嵌套对象,因为还有其他Pojo类的几个其他对象

现在我能够导出父对象ListDetailModel的键

我的问题是如何从同一个条目集对象派生嵌套POJO的键。我所知道的是,我可以为所需的Pojo类创建单独的对象并派生键。但我可以从同一个类中完成吗

Map<String,ListDetailModel> result = gson.fromJson(response , Map.class);                                        //result.get("").getExcavatorInformation().getClass()
//noinspection HardCodedStringLiteral

ListDetailModel model = new ListDetailModel();
for (Map.Entry<String,ListDetailModel> entry : result.entrySet()) {
    String key = entry.getKey();
    Log.d("++++++++++++++"," " +key);
    // do stuff
}
Map result=gson.fromJson(响应,Map.class)//result.get(“”).getInformation().getClass()
//无检查硬编码字符串文字
ListDetailModel模型=新的ListDetailModel();
for(Map.Entry:result.entrySet()){
String key=entry.getKey();
Log.d(“+key”);
//做事
}
假设ListDetailModel中还有另一个CarDetailModel,我不能执行类似entry.get(“CarDetailModel”).getKey()的操作并检索这些键吗?

Map。entry
映射的节点

您只能在其上调用
getKey()
getValue()
,而不能调用
get(“CarDetailModel”)


如果要按键查询地图中的值,则必须在地图本身上调用函数
get(Key k)
,而不是在其中一个条目上调用该函数


对于演示:

那么这是否意味着我必须为每个类创建单独的gson对象以获取其值?如果不看到您的JSON,就有点难说了。如果ListDetailModel是:a)一个映射本身或b)一个包含另一个映射的对象,那么从条目中可以执行以下操作:a)entry.getValue().get(“otherKey”)或b)entry.getValue().getMapInstance().get(“otherKey”)。这完全取决于JSON对象以及您希望如何在类中表示结构。唯一可以保证的是不能在Map.Entry对象上调用get(“key”)。