首页 > 解决方案 > 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());
  }
}

我可以把它流出来,但是当我读回来时,人们里面有三个“人”……不是一个人、运动员和棒球运动员。它不知道如何加载特定的子类类型。我该如何处理?

标签: jsondart

解决方案


推荐阅读