我有一个对象,其中包含一个映射,其中映射中的每个值都是另一个对象,它由一些原语和一个列表组成,如下所示:
Class A {
String sa;
Map<B, B> mapOfBs;
}
Class B {
String sb;
List<C> listOfCs;
}
Class C {
String sc;
}
为了讨论,我有一个类实例包含一些信息(可以从下面解析的 json 中描述,不是那么重要......)。当我使用 GSON 序列化此类时,它在服务器端检索如下:
{
"sa": "aaaa",
"mapOfBs": {
"k.l.z.B@405bb400": {
"sb": "bbb",
"listOfCs": []
},
"k.l.z.B@405bd968": {
"sb": "bbbb2",
"listOfCs": []
}
}
当我尝试反序列化字符串时,这基本上会导致错误。我得到的例外是 " Expected BEGIN_OBJECT but was STRING
" 指向 B 类的完全限定名称嵌入在字符串中的位置。
我的感觉是 B 类解析出了点问题,因为我不明白为什么会在其中插入完全限定名称。同样对于(Cs)列表,它没有显示,所以我的感觉更加强烈......
任何人都可以在这里提供帮助吗?(提前致谢)