Flutter dart 中使用json_serializable处理复杂的json嵌套(List嵌套Map再嵌套list再嵌套map)及取值实例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:54   1818   0

json请求如下:

[
    {
        "id": "4",
        "sort": "1",
        "name": "外部",
        "forums": [
            {
                "id": "3",
                "sort": "2",
                "name": "内部",
            }
        ]
    }
]

前期操作和.dart文件的生成按照此:https://blog.csdn.net/xudailong_blog/article/details/95168949

使用了dio插件来代替flutter自带的http请求数据:https://github.com/flutterchina/dio

service_method.dart的主要代码:

Future request(url,{formData})async{
    Response response;
    Dio dio = new Dio();

    //把json类型转换为plain
    dio.options.responseType = ResponseType.plain;

    response = await dio.get(servicePath[url]);
    if(response.statusCode==200){
      return response.data;
    }
}

调用函数获取值:

  void _getCategory()async{
    await request('homePageContext').then((val){
          Map userMap = json.decode(val)[0];
            //DataBean为创建的dart的第一个类名
          var user = new DataBean.fromJson(userMap);
            //Forums为创建的dart的第二个类名
          var user2 = new Forums.fromJson(userMap['forums'][0]);
          print('Howdy, ${user2.name}!');
          print('Howdy, ${user.name}!');
    });
  }

调用该方法,在后台分别输出“内部”和“外部”。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP