本文要解决的问题:从 json 字符串反序列化形如 List<BaseItem> 的列表,做采集功能模板化时遇到的问题。
1. 需求
App 端需要采集小区、房屋等实体的信息。采集功能是模板化的,配置文件采用 json 格式。整个模板配置包含许多异构的 json 数组,解析成 Java 对象是 List<>。
例如,一个采集任务可能包括多个页面(List<Page>),每个页面有多个卡片(List<Card>)。Page 和 Card 都是接口,有多种类型的子类,这种列表是异构的列表。