serialization - _$UserSerializerMixin 我需要吗?
问题描述
当我找到本指南 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);
}
我按照指南(也运行颤振包 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 中使用了最新的包版本,但使用的是旧示例。)
推荐阅读
- computer-vision - Yolo 或 Faster RCNN 中的锚框或边界框
- android - 如何从 Kotlin 中的 MultiSelectSpinner 获取逗号分隔的项目 ID
- elasticsearch - 使用 Elasticsearch File System Crawler 将 pdf 文件索引到 AWS Elasticsearch 服务
- google-chrome-extension - 欺骗 Chrome 和 Mozilla 以获得我的实际屏幕分辨率
- linux - 设置 autossh 隧道
- jsf - 使用 CDI v/s JSF 注释的问题
- spring - Spring 忽略设置为默认属性的`spring.cloud.config.discovery`
- java - 如何解决 org.openqa.selenium.WebDriverException:方法尚未实现
- javascript - 使用 Axios 将表单数据发布到 .NET API
- pdf - 我想将 PDF 转换为 Post Script