一招教会你处理Flutter中的数据

目录传送门:《Flutter快速上手指南》先导篇git

在一个 App 中,数据类是必不可少。github

咱们须要从接口请求数据(一般为 JSON 格式),而后解析成对象,再使用它。json

看看在 Flutter 中如何定义可解析的数据类。bash

1.定义数据类函数

class User {
  final String name;
  final String email;

  User(this.name, this.email);

  User.fromJson(Map<String, dynamic> json)
      : name = json['name'],
        email = json['email'];

  Map<String, dynamic> toJson() =>
    {
      'name': name,
      'email': email,
    };
}
复制代码

其中,你必须实现 fromJson(Map<String, dynamic> json)toJson() 两个函数。post

在进行数据转换时会用到它们。this

2.JsonString To Objectspa

// 解析Json
var userMap = jsonDecode(data);
var user = User.fromMap(userMap);
复制代码

在调用数据类的 fromMap() 函数前,须要先调用 jsonDecode()JsonString 转换为一个 Map插件

jsonDecode()dart:convert 中的一个函数,所以咱们须要导入 dart:convert3d

3.Object To JsonString

// 对象转Json
var userJson = jsonEncode(user);
复制代码

使用 dart:convert 中的 jsonEncode() 就能够将一个对象转换为 JsonString,它会调用数据类的 toJson()

4.辅助插件

从上面的例子能够看出,要定义一个复杂的数据类仍是很花费精力的。

幸运的是,有人制做了插件帮助咱们自动的去完成这件事。

你能够在 AndroidStudio 的 Plugin 管理器中下在这个插件。

它的名字叫:dart_json_format

下载好插件后,重启 AndroidStudio。

而后经过 command + N (或者编辑框内右键选择 Generate) 唤出以下弹窗,选择 dart json format

接着会出现以下弹窗,将你的 json 数据字符串粘贴,点击肯定。

很好,数据类已经生成了!

比起官方提供的 复杂方法 ,这真是太简单了!

目录传送门:《Flutter快速上手指南》先导篇

如何找到我?

传送门:CoorChice 的主页

传送门:CoorChice 的 Github

相关文章
相关标签/搜索