当前位置: 代码迷 >> 综合 >> flutter 用json_serializable自动生成实体类
  详细解决方案

flutter 用json_serializable自动生成实体类

热度:29   发布时间:2023-12-17 05:03:26.0

添加依赖

dev_dependencies:flutter_test:sdk: flutterbuild_runner: ^2.0.4json_serializable: ^4.1.3

 

新增文件student_bean.dart ,student_bean.g.dart

注意要写 part ' ';

import 'package:json_annotation/json_annotation.dart';part 'student_bean.g.dart';
@JsonSerializable()
class StudentBean {String? name;int? age;StudentBean({this.name, this.age});factory StudentBean.fromJson(Map<String, dynamic> json) => _$StudentBeanFromJson(json);Map<String, dynamic> toJson() => _$StudentBeanToJson(this);
}

执行命令

flutter pub run build_runner build

最后 student_bean.g.dart生成代码如下

// GENERATED CODE - DO NOT MODIFY BY HANDpart of 'student_bean.dart';// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************StudentBean _$StudentBeanFromJson(Map<String, dynamic> json) {return StudentBean(name: json['name'] as String?,age: json['age'] as int?,);
}Map<String, dynamic> _$StudentBeanToJson(StudentBean instance) =><String, dynamic>{'name': instance.name,'age': instance.age,};