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


相关推荐

  • sqlite性能简单測试[通俗易懂]

    sqlite性能简单測试

    2022年1月27日
    33
  • Vue 分页器组件[通俗易懂]

    Vue 分页器组件[通俗易懂]<template><divclass=”pagination”><button>上一页</button><button@click=”changecurentpage(1)”v-if=”startEnd.start>1″>1</button><buttonv-if=”startEnd.start>2″>···</button><.

    2022年9月30日
    0
  • MySQL——MySQL 图形化管理工具的介绍

    MySQL——MySQL 图形化管理工具的介绍文章目录MySQL——MySQL图形化管理工具的介绍1、MySQLWorkbench2、Navicat3、SQLyog4、DBeaver5、DataGripMySQL——MySQL图形化管理工具的介绍MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MysQLWorkbench、phpMyAdmin、NavicatPreminum、MySQLDumper、SQLyog、dbeaver、MysQLODBcConnector、DataGrip。1、MySQL

    2022年6月30日
    24
  • mybatis code helper pro 2.9 激活[最新免费获取]

    (mybatis code helper pro 2.9 激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    1.3K
  • 海贼王

    海贼王★海贼王简介  日本国民级超人气动漫作品《ONEPIECE》,简称OP(1997-现在)  【原名】ONEPIECE——十多年来日本的统治级漫画,单行本十年销量冠军,初版销量已超1亿5千8百万册,09年4月再版销量1千7百万册,总销量1亿7500万册,成为日本史上漫画单行本销量最高和初版销量最高的纪录最快到本书一亿保持者,本书销量第一。  【译名】海贼王、航海王、海盗路飞

    2022年7月12日
    46
  • 计算机的发展历史和发展趋势_对未来计算机展望

    计算机的发展历史和发展趋势_对未来计算机展望论计算机发展史及展望(3页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9积分论计算机发展史及展望杨露斯黎炼四川大学,成都双流610207摘要:自从1945年世界上第一台电子计算机诞生以来,计算机技术迅猛发展,CPU的速度越来越快,体积越来越小,价格越来越低。未来光子、一轮趨级计算技术革命。关键词:计算机;发展史;前景展望中图分类号:G4文…

    2022年10月19日
    0

发表回复

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

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