json - JsonSerializable 与 dart 中的子类
问题描述
我有一个对象层次结构,我想使用 dart 类将其序列化为 json。这是一个 sudo 代码示例:
@JsonSerializable(nullable: true)
class Person {
int age;
}
@JsonSerializable(nullable: true)
class Athlete extends Person {
int speed;
}
@JsonSerializable(nullable: true)
class BaseballPlayer extends Athlete {
int height;
}
@JsonSerializable(nullable: true)
class Building {
List<Person> people = [];
Building(){
people.add(Person());
people.add(Athlete());
people.add(BaseballPlayer());
}
}
我可以把它流出来,但是当我读回来时,人们里面有三个“人”……不是一个人、运动员和棒球运动员。它不知道如何加载特定的子类类型。我该如何处理?
解决方案
推荐阅读
- java - 保存在服务器中的非英文文件名显示为?
- xml - 如何将一个 xml 文档中的节点值添加到另一个 xml 文档中?
- node.js - 无法使用nodejs将媒体发布到twitter api
- c# - 新表单打开显示文本文件
- google-sheets-api - 如何计算通过谷歌电子表格 IMPORTHTML 功能实时获得的值的百分比变化?
- selenium-webdriver - 使用不同版本的 Chrome 运行 Selenium 测试
- javascript - 如何在我的代码中显示我已完成的任务?
- python - 对地图对象进行成员资格测试的意外结果
- php - 更新只会在使用添加空间时更新,从而产生错误
- c++ - 转换为双线程 BST