flutter 序列化 jsonEncode jsonDecode

flutter 序列化 jsonEncode jsonDecodejson_encode是将数值转换成json格式,json_decode()函数将json数据转换成数组flutter进行数据传递需要进行序列号进行编码解码要序列化一个ServiceInfoModel,我们只是将该ServiceInfoModel对象传递给该JSON.encode方法。我们不需要手动调用toJson这个方法,因为JSON.encode已经为我们做了。jsonEncodejson编码过程varvehicleCarModel=Uri.encodeComp..

大家好,又见面了,我是你们的朋友全栈君。

json_encode是将数值转换成json 格式,json_decode()函数将json数据转换成数组 

flutter 进行数据传递需要进行序列号 进行编码 解码

要序列化一个ServiceInfoModel ,我们只是将该ServiceInfoModel 对象传递给该JSON.encode方法。我们不需要手动调用toJson这个方法,因为JSON.encode已经为我们做了。

一个usebean对象

class User {
  User(this.id, this.name);

  int id;
  String name;

//jsonDecode(sting) ->就是fromJson过程 转成结果为map
  User.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    name = json['name'];
  }

//jsonEncode(user) ->就是tojson过程
  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['name'] = this.name;
    return data;
  }
}

 进行jsonencode 和jsondecode进行编码解码

  /// 用户登录。简单起见,返回User
  Future<User> login(String mobile, String sms) async {
 
    User user = User(1, '程序员磊哥');
    print('登录成功: $user');
    var data = jsonEncode(user);
    print("jsonEncode转换的结果对象转为json过程" + data);
    Map user2 = jsonDecode(data.toString());
    print("jsonDecode转换的结果为map并得到map的id值为" + user2["id"].toString());
    User user3 = User.fromJson(jsonDecode(data.toString()));
    print("jsonDecode转换的结果为map再用 User.fromJson(string)转为对象use" + user3.name);
    return user;
  }

 解码 编码后运行结果


I/flutter (17450): jsonEncode转换的结果对象转为json过程{"id":1,"name":"程序员磊哥"}
I/flutter (17450): jsonDecode转换的结果为map并得到map的id值为1
I/flutter (17450): jsonDecode转换的结果为map再用 User.fromJson(string)转为对象use程序员磊哥
I/flutter (17450): 加载首页数据...
I/flutter (17450): 加载首页数据完成

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160614.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何让用html制作404页面,网站404页面怎么做?

    如何让用html制作404页面,网站404页面怎么做?原标题:网站404页面怎么做?404页面具体怎么做:首先,你可以简单的做一个html页面,把它命名为:404.html页面;如果不会制作,最简单的办法就是找任何一个比较有名的网站,把它的404页面另存为下来,然后修改上面的文字,以及URL为自己的文字信息,再保存好上传到你网站的根目录就行了。404页面的注意点:我们做404页面不能让它直接跳转到首页,不然,首页有可能会遭到被K。怎样让错误页面跳转到…

    2022年7月27日
    10
  • qtav—-ffmeg在ubuntu和win10上的编译和运行

    qtav—-ffmeg在ubuntu和win10上的编译和运行最近在windows上和ubuntu上都安装了qtav并且通过了编译测试,实测播放中英文的视频文件功能正常,有图像有声音。大致情况是,操作系统ubuntu:wkr@sea-X550JK:~$cat/etc/os-releaseNAME=”Ubuntu”VERSION=”16.04.4LTS(XenialXerus)”ID=ubuntuID_LIKE=debianPRETTY_…

    2025年12月2日
    4
  • CentOS7 64位安装mysql教程,亲测完美

    CentOS7 64位安装mysql教程,亲测完美从最新版本的linux系统开始,默认的是Mariadb而不是mysql!这里依旧以mysql为例进行展示1、先检查系统是否装有mysqlrpm-qa|grepmysql1这里返回空值,说明没有安装这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行以下命令只是更新Mariadb数据库yuminstallmysql1删除可用yumremovemysql12、下

    2022年5月20日
    37
  • C语言简易贪吃蛇(附完整代码)

    C语言简易贪吃蛇(附完整代码)贪吃蛇小游戏这是楼主刚学完C语言写的第一个小游戏,代码主要参考:https://blog.csdn.net/qq_37074040/article/details/54766680我在模仿代码的过程中发现了原作者程序中的一些bug,以下f附有我加以改进后的代码。1.游戏界面楼主认为这个小游戏游戏界面的核心在于光标的控制。只要我们能让光标到达…

    2022年5月12日
    51
  • 怎么理解泊松分布_泊松分布公式

    怎么理解泊松分布_泊松分布公式1甜在心馒头店公司楼下有家馒头店:每天早上六点到十点营业,生意挺好,就是发愁一个事情,应该准备多少个馒头才能既不浪费又能充分供应?老板统计了一周每日卖出的馒头(为了方便计算和讲解,缩小了数据):均值为:按道理讲均值是不错的选择(参见如何理解最小二乘法?),但是如果每天准备5个馒头的话,从统计表来看,至少有两天不够卖,的时间不够卖:你“甜在心馒头店”又不是…

    2022年8月30日
    3
  • JAVA基本框架搭建(Maven,jetty,Joda-time,junit)

    JAVA基本框架搭建(Maven,jetty,Joda-time,junit)

    2021年5月11日
    124

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号