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? Есть несколько руководств, в которых объясняется, как это сделать?

0 ответов

Другие вопросы по тегам