замороженное преобразование dart в другой тип данных

@JsonKey(name: "favourite") @Default("") String favourite

В моем json favourite скорее Y а также N , что означает true или же false-А можно конвертировать прямо в замороженную? Поэтому я могу напрямую использовать логическое значение вместо String

1 ответ

Вы можете создать собственный конвертер для поля.

      class MyConverter implements JsonConverter<String, bool> {
  const MyConverter ();

  @override
  MyResponse fromJson(string input) {
    switch (input) {
      case "Y": return true;
      case "N": return false;
      default: throw NotSupportedError();
    }
  }

  @override
  String toJson(bool input) {
    switch (input) {
      case true: return "Y";
      case false: return "N";
      default: throw NotSupportedError();
    }
  }
}
      @JsonKey(name: "favourite") @Default("") @MyConverter() String favourite
Другие вопросы по тегам