flutter解析多层嵌套的Json数据(Dio)_s-010101的博客-CSDN博客

baacloud免费翻墙vpn注册使用

来源: flutter解析多层嵌套的Json数据(Dio)_s-010101的博客-CSDN博客

flutter解析简单的Json数据在前面flutter网络请求(Dio)中已经讲过,这里解析的是多层嵌套的Json数据

这里我们要解析的数据接口来自玩安卓网站https://www.wanAndroid.com/article/list/0/json

由图可以看出,这里的数据是Map嵌套Map再嵌套List

建立数据模型
数据模型类的建立我们可以利用网上的一些工具进行实现,这里给出两个
https://autocode.icu/jsontodart
https://javiercbk.github.io/json_to_dart/

把Json语句复制在左边,点击CONVERT TO DART即可在右边生成相应的模型类

使用
这里网络请求依然是使用的Dio,依赖添加等操作不在进行描述直接上代码

_getDatas() async {
var api = ‘https://www.wanAndroid.com/article/list/0/json’;
var result = await Dio().get(api);
var list = AutoGenerate.fromJson(result.data);
print(result);
print(result.runtimeType);
print(result.data);
print(result.data is Map);
print(list is AutoGenerate);
List itemList = list.data.datas;
itemList.forEach((value) {
print(value.link);
});
}

运行可知var result = await Dio().get(api);获取到的result是一个Response<dynamic>类型,result.data是一个Map类型(代表Json嵌套数据最外层的Map),var list = AutoGenerate.fromJson(result.data)得到的是一个AutoGenerate的对象,List itemList = list.data.datas得到最内层的Datas对象的集合,然后在通过遍历集合对象得到每个对象属性的值
————————————————
版权声明:本文为CSDN博主「s-010101」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46527751/article/details/123318500

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏