我使用Gson需要大量的个人解串器。从我的服务器我得到2个列表,这应该直接保存在列表中。这是我的gsonBuilder:
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Book.class, new BookDeserializer());
gsonBuilder.registerTypeAdapter(List.class, new ImageDeserializer());
gsonBuilder.registerTypeAdapter(Image.class, new ImageDeserializer());
gsonBuilder.registerTypeAdapter(boolean.class, new BooleanDeserializer());
gsonBuilder.registerTypeAdapter(Boolean.class, new BooleanDeserializer());
Gson gson = gsonBuilder.create();
Book.class和我的Image.class在我的对象中实现为一个列表。我有一个反序列化器,它会回复我的列表。但是:他没有打电话给BookDeserializer! 首先,他没有调用任何list-deserializer。但添加此行后
gsonBuilder.registerTypeAdapter(List.class, new ImageDeserializer());
他称之为图像反序列化器并且它可以工作。但是他没有把它称为Book.class。我试着添加这些行:
gsonBuilder.registerTypeAdapter(List.class, new BookDeserializer());
但没有任何反应。我想这是因为我已经为List.class添加了一个typeadapter。但我怎么能说,他必须使用2种不同的? 感谢您的帮助:)
编辑: 我想我应该说,我的对象中有一个自己的对象列表:)