Flutter - 为模型生成 toJson 方法,包括 getter

问题描述 投票:0回答:1

在 Flutter 中我们对模型进行序列化(toJson),但是我们如何生成包含 getter 的 toJson?

简单的例子

class MyClass {
  const MyClass({
    required this.a,
    required this.b,
  });
  final double a;
  final double b;

  double get average => (a + b) / 2;
}

我们使用

json_serializable
包来生成
toJson
方法。 它生成
my_class.g.dart
文件,其中有 toJson 和 fromJson 方法。 问题是,通过这种方式,我们没有 getter 的序列化(在我们的示例中为
average
字段)。

我们可以做什么来提供完整的序列化,包括类 getter? 有没有办法使用

json_serializable
freezed
或任何其他包来实现它?

flutter flutter-dependencies
1个回答
0
投票

@JsonKey()
注释标记你的 getter。正如您在
json_serializable
源代码中看到的,它既可用于字段也可用于 getter:

@Target({TargetKind.field, TargetKind.getter})

https://pub.dev/documentation/json_annotation/4.8.1/json_annotation/JsonKey-class.html

© www.soinside.com 2019 - 2024. All rights reserved.