关于flutter 解析json

自己看了几天,最近才大概知道是怎么个情况。

首先 要处理的 是后端返回的数据 ,如果是直接请求的话返回的是json 字符串 然后要把字符串转成对象,有几种方式参考

第一种:内置json直接解析
引入import 'dart:convert';即可使用。
var map = {
"name": "zhangsan",
"email": "123@qq.com",
"age":
}; //转成字符串
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":
}; var user = User.fromJson(map);
print("name:${user.name}"); var userMap = User("lisi", "321@qq.com", ).toJson();
for (var key in userMap.keys) {
print("${key} : ${userMap[key]}");
}
这种是比较常用的用来解析复杂的json

如果是用dio 则返回的数据就是json 对象。处理和不处理就看自己了

flutter 解析json的更多相关文章

  1. Flutter -------- 解析JSON数据

    SON序列化方法: 手动序列化和反序列化通过代码生成自动序列化和反序列化 手动JSON序列化是指使使用dart:convert中内置的JSON解码器.它将原始JSON字符串传递给JSON.decode ...

  2. Flutter 中 JSON 解析

    本文介绍一下Flutter中如何进行json数据的解析.在移动端开发中,请求服务端返回json数据并解析是一个很常见的使用场景.Android原生开发中,有GsonFormat这样的神器,一键生成Ja ...

  3. Xamarin.Android下获取与解析JSON

    一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...

  4. 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)

    在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...

  5. 阶段一:通过网络请求,获得并解析JSON数据(天气应用)

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 在上一篇阶段一:解析JSON中提到,最近在写一个很简单的天气预报应用.即使功能很简单,但我还是想把它做成一个相对完 ...

  6. 阶段一:解析JSON

    “阶段一”是指我第一次系统地学习Android开发.这主要是对我的学习过程作个记录. 最近学到解析JSON格式的网络数据,而作业也要求自己找一个天气预报的API地址,然后解析其中JSON格式的数据.可 ...

  7. C语言创建及解析Json的使用法则

    参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...

  8. 不一样的dynamic解析json 万能方法

    写过javascript的人都知道js解析json 1:(JSON) 字符串转换为对象. var str = '{"name":"lsw","hobb ...

  9. C# 解析JSON的几种办法

    欲成为海洋大师,必知晓海中每一滴水的真名. 刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把. 搜索过程中免不了碰到一大堆名词:WCF => DataContract => ...

随机推荐

  1. Vue.js 2.x笔记:路由Vue Router(6)

    1. Vue Router简介与安装 1.1 Vue Router简介 Vue Router 是 Vue.js 官方的路由管理器.它和 Vue.js 的核心深度集成,构建单页面应用. Vue Rout ...

  2. Git源码管理工具使用

    注明:双击tap键为自动补全操作 1.视频地址:http://www.newbieol.com/course/index_102.html 2.sourcetree是一个拥有界面的git工具吧 下载官 ...

  3. shc & unshc 安装

    shc & unshc 安装 shc 安装 git clone https://github.com/neurobin/shc.git cd shc ./configure make & ...

  4. 【MyBatis】Mapper XML 文件

    Mapper XML文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立 ...

  5. POJ2960 S-Nim 【博弈论】

    Description Arthur and his sister Caroll have been playing a game called Nim for some time now. Nim ...

  6. ubuntu18.04 使用管理员权限

    最近在ubuntu系统安装koa脚手架koa-generator初始化项目,报错提示要使用管理员权限执行命令. 正常情况下使用 sudo su 命令即可进入管理员权限,使用 su [ 用户名 ] 退出 ...

  7. 查看macOS下正在使用的zsh

    使用dscl . -read /Users/$USER UserShell查看 如果你的结果是/bin/zsh,又恰巧用brew安装了zsh的话,那么你可能就白安装了 将brew安装的zsh添加到/e ...

  8. cocos2d windows游戏平台搭建

    1. 安装VS2013 2. 下载cocos2d源代码(cocos2d-x-3.7.1) 3. 下载和安装python(2.7.10) 4. 安装完成后,将python安装路径设置到系统路径中(pat ...

  9. org.apache.catalina.core.StandardContext.startInternal Context [/test] startup failed due to previou

    解决方法: WEB-INF/classes目录下新建一个文件叫logging.properties,截图如下: 代码如下: handlers=org.apache.juli.FileHandler,j ...

  10. 异常值处理outlier

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...