Java GSON嵌套hashmap反序列化是FlatMapping(重复键)

Java GSON嵌套hashmap反序列化是FlatMapping(重复键),java,gson,Java,Gson,我有一个类似的json { “姓名”:{ “keyClass”:{ “关键1”:1, “键2”:2 }, “keyClass2”:{ “键1”:6 } } } 我的java看起来是这样的 @Expose 受保护的映射数据=新建LinkedHashMap(); 如果每个Map都是一个新的LinkedHashMap(),那么我就用GSON.toJson(这个,文件)对它进行序列化,它给了我一个美妙的json,当我试图将它反序列化为GSON.fromJson(这个,文件)时,问题就出现了将尝试映射

我有一个类似的json

{
“姓名”:{
“keyClass”:{
“关键1”:1,
“键2”:2
},
“keyClass2”:{
“键1”:6
}
}
}
我的java看起来是这样的

@Expose
受保护的映射数据=新建LinkedHashMap();

如果每个
Map
都是一个
新的LinkedHashMap()
,那么我就用
GSON.toJson(这个,文件)
对它进行序列化,它给了我一个美妙的json,当我试图将它反序列化为
GSON.fromJson(这个,文件)时,问题就出现了
将尝试映射所有内容,但它有一个平面映射,不关心嵌套,因此认为keyClass.key1和keyClass.key1冲突。它抛出一个放大的重复键:null。是否存在某种对象,使得嵌套的LinkedHashMap被序列化为自己的对象,并且在反序列化时不是平面映射?

我实际上忘记告诉一些事情,我正在使用一个映射到字符串的枚举,这就是为什么,这里有两个示例,以及为什么第一个示例失败:

出于好奇,为什么您认为
duplicate key:null
意味着
key1
是重复的?对我来说,它表示键
null
是重复的。不知何故,
null
键进入了地图,还是我遗漏了什么?