LimitActionConfig是ActionConfig的子类,RuleConfig的有个属性是ActionConfig,需要反序列化成LimitActionConfig
ParserConfig parserConfig = new ParserConfig() {
@Override
public ObjectDeserializer getDeserializer(Type type) {
if (type == ActionConfig.class) {
return super.getDeserializer(LimitActionConfig.class);
}
return super.getDeserializer(type);
}
};
RuleConfig ruleConfig = new RuleConfig();
ruleConfig.setDesc("xxx");
LimitActionConfig limitActionConfig = new LimitActionConfig();
limitActionConfig.setResponseContent("ddd");
ruleConfig.setActionConfig(limitActionConfig);
String text = JSON.toJSONString(ruleConfig);
System.out.println(text);
RuleConfig ruleConfig2 = JSON.parseObject(text, RuleConfig.class, parserConfig);
System.out.println(ruleConfig2);