You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web调用RESTful GET接口出现Map与List类型不匹配错误求助

问题原因

你的报错由EstateSearch模型字段定义和API返回结构不匹配导致:
你提供的API返回示例中,每个estate条目下的estateGroups字段为数组类型[],但你的EstateSearch类中将该字段定义为单个EstateGroup对象类型,JSON序列化解析该字段时,尝试将List转为Map<String,dynamic>,就抛出了你遇到的类型错误。


解决方案

  1. 修改EstateSearch模型的estateGroups字段定义,将单个对象类型调整为列表类型:
// 原来的错误定义
EstateGroup estateGroups;
// 修改后的正确定义
List<EstateGroup> estateGroups;
  1. 同步修改构造函数中对应字段的声明,如果你使用json_serializable做自动序列化,修改完成后重新执行以下命令生成新的序列化代码即可:
flutter pub run build_runner build --delete-conflicting-outputs

排查小技巧

后续遇到同类类型不匹配报错时,可以在jsonDecode后逐层打印字段的运行时类型,快速定位不匹配的字段:

var decodedData = jsonDecode(response.body);
// 打印estates下第一个条目的estateGroups类型
print(decodedData["estates"][0]["estateGroups"].runtimeType);

内容的提问来源于stack exchange,提问作者Emmon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:15:03