作者回复: 厉害👍
作者回复: 可以参考cnDart社区的文章:http://www.cndartlang.com/841.html
作者回复: 👍厉害
作者回复: 用for in就好了
for (var key in map.keys) {
obj.x = key;
obj.y = map[key];
}
作者回复: 赞👍
作者回复: 以对象的方式承接服务端返回的JSON字典,不仅更直观,也避免了一些因为key写错出现的代码错误。js的类型系统比较混乱,object和字典是可以混用的,比如下面这段代码:
var x = {'number':123,'title':'title'};
x.number和x['number']是等价的,所以这也就是为什么前端同学直接拿字典就可以当对象用了。
而Dart是强类型语言,字典里的键值对和对象的属性是不能混用的,所以我们需要定义一层映射关系。
作者回复: Dio默认会自动帮你重定向,你可以在options参数里面把followRedirects置为false,自己在拦截器中处理重定向
作者回复: 参考官方文档吧https://github.com/flutterchina/json_model
作者回复: 1.直接发url请求就可以了、把服务端返回的数据当作字符串简单处理下,把它转成json格式
2.flutter不需要处理跨域问题,不建议用jsonp这种奇怪的格式
作者回复: 这个就是今天分享说的http包啊
作者回复: 赞
作者回复: 很赞👍
作者回复: 思路是对的,有一个小点可以改进:如果此刻有多个request同时发出,token会请求多次。
作者回复: 会考虑专门出一节讲课后题的解决思路
作者回复: 确认下网络权限,查查状态码,最后还不行可以抓包看看原因
作者回复: 手动没法解析,可以运行时判断类型,走特定类型的解析方法
作者回复: 网络请求和I/O是另一个平行世界(操作系统)里并发完成的,flutter只是触发了他们的启动而已
作者回复: 在可用性和安全的综合衡量下,一般是采用类的黑名单,避免反序列化有安全风险的类
作者回复: 运行时的没有,有一些开发期的IDE插件可以简化JSON解析的代码