【问题标题】:_TypeError (type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'Iterable<dynamic>') its my error_TypeError(类型 '_InternalLinkedHashMap<String, dynamic>' 不是类型 'Iterable<dynamic>' 的子类型)这是我的错误
【发布时间】:2021-11-06 21:59:00
【问题描述】:

我的api函数:

 Future<List<User>>fetchData() async {
var response = await http.get(
    Uri.parse(link),
    headers: headers);
 var jsonData = jsonDecode(response.body);

List<User> users = [];

for (var u in jsonData) {
  User user = User(u["name"], u["code"], u["id"]);
  users.add(user);
}
print(users.length);
return users;

}

我在 for 循环中遇到此错误。我该如何解决?我需要帮助。谢谢大家

【问题讨论】:

  • 您也可以分享响应正文吗?
  • 类似``` [ { key1: value1, key2: value2, key3: value3, }, { key1: value1, key2: value2, key3: value3, }, ]

标签: flutter


【解决方案1】:

您的数据可能在此 json 响应中的列表中。看看你的回复中是否有"data" 字段,那么你的for loop 看起来像这样:

var u in jsonData["data"]

打印我们的jsonData 让我们看看。

【讨论】:

  • 是的,我打印 jsonData 并在终端中看到了我的数据
  • 我应该像你一样添加我的数据字段吗 (["data") ?
  • 如果您的 json 响应有一个名为 data 的字段,并且在其中包含您的列表,那么可以。如果您发布打印的回复,也更容易为您提供帮助。
  • 我做到了并且有效。我们修复了这个错误。现在面临更多的问题
  • 在另一个问题中发布您的新错误,我们会尝试修复它:)
猜你喜欢
  • 2020-11-25
  • 2022-07-22
  • 2019-01-03
  • 2021-06-19
  • 2021-01-02
  • 2021-07-31
  • 2022-10-18
  • 2019-03-14
  • 1970-01-01
相关资源
最近更新 更多