Json转Dart Model类

Flutter 中如何处理Json

Flutter给我们提供了 dart:convert 包,我们可以通过:

json.decode(json)  来序列化json

首先记得先导包:

然后

可以看到,我们这样取值是需要手动的敲字段来获取数据的,一旦字段比较多的话,就很麻烦


Flutter Json转实体类(一键生成)

        在开发过程中,我们一般都是使用插件或工具一键生成实体类的,这样极大的提高了开发效率,目前我们可以通过在线生成和安装插件生成的方式来一键生成Dart类。

方式一:在线生成

1.首先打开 json_to_dart

https://javiercbk.github.io/json_to_dart/

页面如下:

2.将json数据赋值到输入框中,点击创建Dart类,然后右边就是生成好的Dart代码,类名可以复制到编辑器后自行修改

3.创建一个Dart类,将类名自行修改一下

4,使用方式如下

方式二:安装FlutterJsonBeanFactory插件生成

首先安装FlutterJsonBeanFactory这个插件,安装方式很简单,这里我就不说了。

安装完成后右键包目录,选择new

然后选择dart bean class File from JSON

然后将json数据粘贴至输入框,输入类名,点击make即可

这样实体类就生成好了



方式三:使用json_model自动生成

1.在项目根目录新建jsons文件夹并将json数据新建成为文件,在lib目录下新建包名为models

注意:这两个文件夹的名字都必须为jsons和models

2、加入依懒

注意:这里添加完json_serializable相关依赖之后还添加了json_model的依赖,这就是快捷生成的关键,还有如果json中引用了其他model可以使用如下方式

{

"name":"wendux",

"father":"$user",//可以通过"$"符号引用其它model类

"friends":"$[]user",//可以通过"$[]"来引用数组

"keywords":"$[]String",//同上

"age":20

}

3.完成上面的操作之后

在当前项目的根目录执行如下命令:flutter packages pub run json_model

控制台打印如下日志就成功了

注意:如果json文件中加了注释可能会报错,需要删除注释,错误信息如下


其实,我们也可以不使用命令行的方式自动生成,

用run(['src=jsons'])的方法也可以,run方法为json_model暴露的方法。

json_model:https://github.com/flutterchina/json_model

你可能感兴趣的:(Json转Dart Model类)