引入第三方库 

dependencies:
  json_annotation: ^4.0.1

dev_dependencies:
  build_runner: ^2.0.0
  json_serializable: ^4.0.0

 

 使用方法

json自动化生成工具 点击这里可以跳转

页面是这样的

然后在左边输入你的json数据,它会自动生成对应的实体类

生成的实体类是如下:

import 'package:json_annotation/json_annotation.dart'; 
  
part 'merch_region.g.dart';


@JsonSerializable()
  class MerchRegion extends Object {

  @JsonKey(name: 'appid')
  String appid;

  @JsonKey(name: 'create_time')
  String createTime;

  @JsonKey(name: 'create_userid')
  String createUserid;

  MerchRegion(this.appid,this.createTime,this.createUserid,);

  factory MerchRegion.fromJson(Map<String, dynamic> srcJson) => _$MerchRegionFromJson(srcJson);

  Map<String, dynamic> toJson() => _$MerchRegionToJson(this);

}

  

把这个文件放到model里

执行命令

// 构建一次命令

flutter packages pub run build_runner build

// 监听构建

flutter pub run build_runner watch

会自动生成一个.g.dart的文件 

如果生成过程中出现报错可能是你已经有了对应的文件,可以选择删除,重新生成,如下图

或者是先清理,然后重新执行

//清除之前生成的文件,如果直接运行下面的不行。可以先尝试运行这个
 flutter packages pub run build_runner clean

 flutter packages pub run build_runner build
//可以直接运行这个
 flutter packages pub run build_runner build --delete-conflicting-outputs 

就成功了

验证生成结果

成功执行上述命令后,应该会在同一目录下看到自动生成的merch_region.g.dart文件。这表明你的实体类已经正确配置,并准备好用于序列化和反序列化操作。

结论

通过使用JSON自动化生成工具,你可以快速且准确地为你的Flutter应用创建所需的实体类。这种方法不仅节省时间,还能减少人为错误,使得数据处理更加高效可靠。希望这份指南能够帮助你在Flutter开发过程中更好地管理和处理JSON数据。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐