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

Swift使用JSONDecoder解析API数据报错:期望字典却找到数组

问题原因说明

  • 你自定义的Response结构体本身就对应JSON的字典类型:当你指定解码目标为Response.self时,JSONDecoder会默认期望接收的JSON顶层结构是字典(用来匹配Response的两个属性foundRecipes、foundIngredients对应的键值对),这就是错误提示中“期望解码Dictionary<String, Any>”的来源,你只是没有意识到自定义结构体对应的JSON结构类型。
  • 你调用的接口返回的顶层JSON结构是数组,并不存在你额外定义的foundRecipes、foundIngredients外层包装字段,自定义的结构和实际返回的结构完全不匹配,因此触发类型不匹配错误。
  • 你定义的Ingredient结构体中存在字段拼写错误,origianalName的拼写不符合实际JSON返回的字段名,后续结构对齐后也会导致解码失败,需要留意。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 23:09:03