0

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

在我的 jsonfavourite中是Yand N,这意味着trueor false,可以直接在冻结中转换吗?所以我可以直接使用布尔值,而不是字符串

4

1 回答 1

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
于 2021-07-03T17:39:56.663 回答