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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java虚拟机 百度云盘_22 深入拆解 Java 虚拟机【完结】百度云盘「建议收藏」

    java虚拟机 百度云盘_22 深入拆解 Java 虚拟机【完结】百度云盘「建议收藏」22深入拆解Java虚拟机【完结】百度云盘798资源网免责声明:[22深入拆解Java虚拟机【完结】百度云盘]由分享人bo***jie于2020-01-1618:29上传到百度网盘。此页面由java农村野外hd自动抓取,以非人工方式自动生成,只作交流和学习使用。本网站本身不储存任何资源文件,其资源文件的安全性和完整性需要您自行判断,感谢您对本站的支持。22深入拆解J…

    2022年7月8日
    26
  • PDF转Word提示页数太多转换失败怎么办?

    PDF转Word提示页数太多转换失败怎么办?将PDF转换成Word是我们日常工作中经常会用到的,但有些时候转换时却提示页数太多无法转换,强行转换也总是失败,这是怎么回事呢?要怎么才能转换呢?一般普通的文档只有几十页多一些几百页,但是也有少部分文档比如一些数据统计、文献资料等可能多达几千页,而市面上一般超过500页的PDF文档转换就会报错,那么我们只能将PDF拆分成很多个再转换吗?转换后的Word合并也很难操作吧。所以我们需要更换其他更强大的转换工具,下面分享2个对于文档转换页数没有限制的工具以及各自的使用方法和优缺点。工具一:极速PDF转Wor

    2022年6月9日
    55
  • 微信聊天记录数据分析「建议收藏」

    目录一、项目背景二、数据准备三、数据预处理及描述性统计四、数据分析1.聊天时间分布图2.高频词汇统计3.词云图展示五、其它探索性分析一、项目背景2021年2月20日我和我女朋友第一次见面,之后开启了我们两个人的故事,时隔一年我想将我们的聊天记录提取出来进行简单的数据分析一下。微信里面有2021年4月20日至2022年2月20日的聊天记录,一共十个月的数据。二、数据准备在网上有许多文章关于可以找到关于…

    2022年4月12日
    453
  • SQL 扩展事件

    SQL 扩展事件

    2021年11月26日
    48
  • 互联网+(怎样保证小孩的安全)

    互联网+(怎样保证小孩的安全)

    2022年3月4日
    34
  • testdirector 乱码[通俗易懂]

    testdirector 乱码[通俗易懂]Howtomodifythesubjectlineofautomatice-mailsforTestDirector8.0?Thesubjectlineofautomatice-mailisconstructedfromthedescriptionofthedefectthatitissending.Insom…

    2025年6月28日
    2

发表回复

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

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