flutter解析多层嵌套的Json数据(Dio)

flutter解析多层嵌套的Json数据

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对象的集合,然后在通过遍历集合对象得到每个对象属性的值

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值