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

调用GET接口转模型时遇TypeError错误求助

解决JSON转模型类时的TypeError问题

错误原因

TypeError (type '(dynamic) => Null' is not a subtype of type '(String, dynamic) => void' of 'action') 本质是回调函数类型不匹配:你在处理JSON键值对时,传入了仅接受单个dynamic参数的函数,但框架需要的是能接收(String, dynamic)(键、值)两个参数的回调函数。

具体解决步骤

  • 检查手动解析代码:如果是自己编写fromJson方法遍历JSON,确保使用正确的forEach回调格式。
    错误示例:
    // 错误写法:仅传递单个参数
    json.forEach((item) {
      // 错误的处理逻辑
    });
    
    正确示例:
    // 正确写法:接收key和value两个参数
    json.forEach((key, value) {
      switch(key) {
        case 'title':
          this.title = value;
          break;
        // 其他属性的映射处理
      }
    });
    
  • 检查序列化库配置:如果使用json_serializable或freezed这类序列化库,查看自定义解析函数的参数类型。比如在@JsonKey(fromJson: ...)注解中,传入的函数必须符合对应类型要求,不能用单个参数的函数处理键值对场景。
  • 排查模型类属性映射:确保所有JSON字段到模型属性的映射逻辑,没有误用单个参数的回调函数替代键值对回调。

内容的提问来源于stack exchange,提问作者Khánh duy Lê

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:09:22