使用 json_serializable 包生成 dart 文件
Generating dart file with json_serializable package
根据json_serializable包installing instructions,你应该添加以下依赖:
dependencies:
json_serializable: ^2.0.3
这是我的代码:
import 'package:json_annotation/json_annotation.dart';
part 'person.g.dart';
@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}
现在 运行 在 Flutter 中:
flutter packages pub run build_runner build
或者 Dart 项目:
pub run build_runner build
我收到以下错误:
Could not find package "build_runner". Did you forget to add a dependency?
怎么了?
这是 Pub 自动生成安装说明的设置方式的问题。以下是您实际需要添加的依赖项:
dependencies:
json_annotation: ^2.0.0
dev_dependencies:
build_runner: ^1.0.0
json_serializable: ^2.0.0
这显示在 json_serializable
example.
现在您可以像这样为 class 生成 dart 文件
import 'package:json_annotation/json_annotation.dart';
part 'person.g.dart';
@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}
来自 运行 在 Flutter 项目中:
flutter packages pub run build_runner build
或者在 Dart 项目中:
pub run build_runner build
其他说明:
- 确保
part 'person.g.dart'
与您的 person.dart
模型 class 文件的名称匹配。也就是说,不要称它为 example.g.dart
.
你需要运行
flutter packages get
第一
根据json_serializable包installing instructions,你应该添加以下依赖:
dependencies:
json_serializable: ^2.0.3
这是我的代码:
import 'package:json_annotation/json_annotation.dart';
part 'person.g.dart';
@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}
现在 运行 在 Flutter 中:
flutter packages pub run build_runner build
或者 Dart 项目:
pub run build_runner build
我收到以下错误:
Could not find package "build_runner". Did you forget to add a dependency?
怎么了?
这是 Pub 自动生成安装说明的设置方式的问题。以下是您实际需要添加的依赖项:
dependencies:
json_annotation: ^2.0.0
dev_dependencies:
build_runner: ^1.0.0
json_serializable: ^2.0.0
这显示在 json_serializable
example.
现在您可以像这样为 class 生成 dart 文件
import 'package:json_annotation/json_annotation.dart';
part 'person.g.dart';
@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}
来自 运行 在 Flutter 项目中:
flutter packages pub run build_runner build
或者在 Dart 项目中:
pub run build_runner build
其他说明:
- 确保
part 'person.g.dart'
与您的person.dart
模型 class 文件的名称匹配。也就是说,不要称它为example.g.dart
.
你需要运行
flutter packages get
第一