- 博主目前使用的是 Quicktype 。
-
手动编写模型类: 手动根据后端返回的数据结构创建 Dart 类,定义属性和构造函数,并提供从 JSON 转换为模型和从模型转换为 JSON 的方法。
class User { final String name; final int age; User({required this.name, required this.age}); factory User.fromJson(Map<String, dynamic> json) { return User( name: json['name'], age: json['age'], ); } Map<String, dynamic> toJson() { return { 'name': name, 'age': age, }; } } -
使用
json_serializable库: 使用json_serializable自动生成模型类的代码,通过注解简化 JSON 转换过程。-
在
pubspec.yaml文件中添加依赖:dependencies: json_annotation: ^4.7.0 dev_dependencies: build_runner: ^2.3.0 json_serializable: ^6.3.0 -
定义模型类并添加注解:
import 'package:json_annotation/json_annotation.dart'; part 'user.g.dart'; @JsonSerializable() class User { final String name; final int age; User({required this.name, required this.age}); factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json); Map<String, dynamic> toJson() => _$UserToJson(this); } -
运行
build_runner来生成相应的代码:$ flutter pub run build_runner build
-
-
使用在线工具: 有些工具可以将后端接口返回的
JSON数据转换为Dart类代码。例如:只需要提供服务器返回的
JSON格式数据,这些工具会生成相应的Dart类代码。