一招教會你處理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

相關文章
相關標籤/搜索