zoukankan      html  css  js  c++  java
  • 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 对象。处理和不处理就看自己了 

  • 相关阅读:
    舌尖上的中关村
    解决winform窗体闪烁问题
    24段魔尺,可以折出哪些精美图案(续)
    24段魔尺,可以折出哪些精美图案
    关于Python编程的一些问答
    BZOJ 1025: [SCOI2009]游戏
    BZOJ 1025: [SCOI2009]游戏
    BZOJ 1207: [HNOI2004]打鼹鼠
    BZOJ 1207: [HNOI2004]打鼹鼠
    BZOJ 1046: [HAOI2007]上升序列
  • 原文地址:https://www.cnblogs.com/wupeng88/p/10770135.html
Copyright © 2011-2022 走看看