1.首先增加依赖:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
dio:any文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
json_annotation: any文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
build_runner: any文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
json_serializable: any文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
注意 与flutter_test 保持统一格式,不要空格、首行缩进!!!!!!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
2.建立bean 用于绑定json数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
jsondemo地址: http://www.mocky.io/v2/5b7143ae3200001402f36c46文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
json格式分析:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
:最普通的string格式数据文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
包含:string与list<string>,需要建两个class 分别为data和包含data的class,这里将包含data的class 起名为postdata文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
2.1 新建dart文件创建class,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
//此为data的class 与postdata的class 在同一个dart文件中文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
import 'package:json_annotation/';文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
part ''; // 命名为固定的,写完class后由命令生成,报错先不要理会文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
@JsonSerializable(nullable:false) // 命令可根据此来生成' 文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
class Data{ //data的class文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
String name;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
String email;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
list<String> pics;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
Data({文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
});文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
@JsonSerializable(nullable:false)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
class PostDart{ // postdata 的class文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
final intstatusCode;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
final Datadata;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
PostDart({文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
});文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
命令:文件跟目录下文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
flutter packages pub run build_runner build文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
这样就能生成文件了,之前看资料有很多人推荐 这个小工具,但是这个解析复杂的json的时候会报错遂放弃文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
生成的文件分别有data和postdata的 fromjson与tojson方法,然后返回 分别实现这两个方法, 下面贴出完整的代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
这样就 可以实现获得返回值的时候将数据解析到对应的bean中文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
调用方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html
重点: 要根据返回的数据格式来生成对应的bean的class,推荐 可参考这个来实现不同的数据结构下bean的生成文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/10434.html