我有一个json文件,并尝试读取序列化的值, 我创建了一个自定义反序列化以获取扩展类,这是我的自定义Derserialize;
switch (type.getAsString()) {
case "ToLowerRule":
return context.deserialize(jsonObject,
ToLowerRule.class);
case "ParserDataRule":
return context.deserialize(jsonObject,
ParserDataRule.class);
case "CityRule":
return context.deserialize(jsonObject,
CityRule.class);
和我的课程;
public class ToLowerRule extends BasicRule {...}
public class ParserDataRule extends BasicRule {...}
public class CityRule extends ParserDataRule {...}
和Gson对象;
Gson gson = new GsonBuilder().registerTypeAdapter(BasicRule.class,
new CustomRuleDeserializer()).create();
将其反序列化为ToLowerRule和ParseDataRule,但将其反序列化为CityRule作为ParserDataRule可以帮助我解决这个问题。
我希望CityRule反序列化为CityRule而不是扩展对象(ParseDataRule)
谢谢。