[英]_$UserSerializerMixin do I need it?
当我发现本指南https://flutter.io/json/时,我在序列化方面苦苦挣扎,在其中我发现:
import 'package:json_annotation/json_annotation.dart';
part 'user.g.dart';
@JsonSerializable()
class User extends Object with _$UserSerializerMixin{
final String name;
final String email;
User(this.name, this.email);
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
}
我遵循了指南(也运行了flutter软件包pub run build_runner watch命令),除了_$UserSerializerMixin
之外,其他一切都很好。 它说:类只能混入其他类。 我该怎么办?
该错误是因为_$UserSerializerMixin
类不在生成的user.g.dart中。
https://flutter.io/json/#serializing-json-using-code-generation-libraries上的示例很旧,并且仅使用该页面上示例pubspec.yaml中显示的软件包版本运行。
如果您使用最新的软件包,请参见此处的示例: https : //pub.dartlang.org/documentation/json_serializable/latest/
注意,不再需要使用_$UserSerializerMixin
扩展其类。 使用v1.x软件包,则创建_$UserToJson
。 现在,更改班级变得更加简单。
(我自己挣扎了一段时间,因为我在pubspec.yaml中使用了最新的软件包版本,但使用的是旧示例。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.