【问题标题】:To pass data in List<dynamic> in flutter在 Flutter 中传递 List<dynamic> 中的数据
【发布时间】:2020-12-24 19:05:57
【问题描述】:

我正在尝试从 API 打印正文以查看我是否正在获取我的数据,但不幸的是,如果我尝试在列表下方打印,则没有任何返回

这是我从服务器/api获取数据的代码

  Future<List<Permission>> getPermissionData() async {
    String ruhusa = 'permission';
    Response resp = await http.get(mainUrl + ruhusa,
        headers: setHeader(accessKey.accessKey));

    if (resp.statusCode == 200) {
      List<dynamic> body = jsonDecode(resp.body);
      // print("data zangy ${resp.body}");

      List<Permission> permissions =
          body.map((dynamic item) => Permission.fromJson(item)).toList();

      return permissions;
    } else {
      throw "Can't get permission.";
    }
  }

谁能帮忙!!

【问题讨论】:

  • var body = jsonDecode(resp.body);打印(正文);先试试这个然后告诉我输出
  • 它从 API 返回帖子的正文,这正是我想要的,但是 List 什么都没有发生

标签: flutter http dart postman


【解决方案1】:

将地图返回的项目类型设置为“权限”

  List<Permission> permissions =
          body.map<Permission>((dynamic item) => Permission.fromJson(item)).toList();

该错误可能是因为您尝试分配一个动态列表,该动态列表映射正在返回到权限列表。

【讨论】:

  • 我无法传递数据的确切问题在于我的权限模型,在请求权限时,用户不应该填写所有字段,因此其他字段为空。所以我将所有 null 字段从 String 数据类型更改为动态并且它有效
猜你喜欢
  • 2021-11-17
  • 2021-05-27
  • 2019-10-11
  • 2020-03-02
  • 2022-11-02
  • 2021-01-08
  • 1970-01-01
  • 2021-06-09
  • 2018-12-01
相关资源
最近更新 更多