Dart: как использовать библиотеку json_serializable для создания различных подклассов из ввода json
Мне нужно сериализовать json, чтобы создать конкретный подкласс из Enum, который является атрибутом одного класса, который содержит цель абстрактного класса
class Test {
Outcome outcome;
TestType type;
}
abstract class Outcome {
String attribute;
}
class PackageOutcome extends Outcome {
String packageAttribute;
}
class FlexibilityOutcome extends Outcome {
String flexibilityAttribute;
}
В Outcome нет фабричных методов для сериализации json, но они есть в PackageOutcome и FlexibilityOutcome.
заводским способом
Test.toJson()
если у меня есть определенный тип Enum TestType, я создаю PackageOutcome, и если у меня есть другой тип, я создаю
FlexibilityOutcome
как результат теста.
вы можете сделать это с помощью json_serializable? Есть несколько руководств, в которых объясняется, как это сделать?