Flutter之json解析

第一种:内置json直接解析
引入import 'dart:convert';即可使用。
var map = {
      "name": "zhangsan",
      "email": "[email protected]",
      "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": "[email protected]",
      "age": 1
    };

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

    var userMap = User("lisi", "[email protected]", 3).toJson();
    for (var key in userMap.keys) {
      print("${key} : ${userMap[key]}");
    }

第三种:使用json_annotation第三方jar包
一种创建失败。。。

猜你喜欢

转载自blog.csdn.net/weixin_34318326/article/details/86946952