flutter 解析json


關於flutter 解析json  

自己看了幾天,最近才大概知道是怎么個情況。

首先 要處理的 是后端返回的數據 ,如果是直接請求的話返回的是json 字符串 然后要把字符串轉成對象,有幾種方式參考

第一種:內置json直接解析
引入import 'dart:convert';即可使用。
var map = {
      "name": "zhangsan",
      "email": "123@qq.com",
      "age": 1
    };

    //轉成字符串
    String name = json.encode(map);
    print(name);

    //解析字符串
    Map<String, dynamic> user = json.decode(name);
    print("姓名:${user['name']}");
    print("郵箱:${user['email']}");
    print("年齡:${user['age']}");
  }

這種是可以直接在當前類解析,
第二種:內置json創建model方式解析。
先建立model,
class User {
  String name;
  String email;
  int age;

  User(this.name, this.email, this.age) {}

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

  Map<String, dynamic> toJson() {
    return {
      "name": name,
      "email": email,
      "age": age
    };
  }
}
然后可以使用了,
var map = {
      "name": "zhangsan",
      "email": "123@qq.com",
      "age": 1
    };

    var user = User.fromJson(map);
    print("name:${user.name}");

    var userMap = User("lisi", "321@qq.com", 3).toJson();
    for (var key in userMap.keys) {
      print("${key} : ${userMap[key]}");
    }
這種是比較常用的用來解析復雜的json

如果是用dio 則返回的數據就是json 對象。處理和不處理就看自己了 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM