flutter开发:dio+json_serializable 实现json序列化

1.首先增加依赖:

dio:any

json_annotation: any

build_runner: any

json_serializable: any

注意 与flutter_test 保持统一格式,不要空格、首行缩进!!!!!!

2.建立bean 用于绑定json数据

jsondemo地址: http://www.mocky.io/v2/5b7143ae3200001402f36c46

json格式分析:

:最普通的string格式数据

包含:string与list<string>,需要建两个class 分别为data和包含data的class,这里将包含data的class 起名为postdata

2.1 新建dart文件创建class,

//此为data的class 与postdata的class 在同一个dart文件中

import 'package:json_annotation/';

part '';  // 命名为固定的,写完class后由命令生成,报错先不要理会

@JsonSerializable(nullable:false) // 命令可根据此来生成' 文件

class Data{   //data的class

String name;

String email;

list<String> pics;

Data({

,

,

 

});

@JsonSerializable(nullable:false)

class PostDart{  // postdata 的class

final intstatusCode;

final Datadata;

PostDart({

,

 

});

}

命令:文件跟目录下

flutter packages pub run build_runner build

这样就能生成文件了,之前看资料有很多人推荐 这个小工具,但是这个解析复杂的json的时候会报错遂放弃

生成的文件分别有data和postdata的  fromjson与tojson方法,然后返回 分别实现这两个方法, 下面贴出完整的代码

这样就 可以实现获得返回值的时候将数据解析到对应的bean中

调用方法:

重点: 要根据返回的数据格式来生成对应的bean的class,推荐 可参考这个来实现不同的数据结构下bean的生成

THE END