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

Android Studio中Retrofit报错Expected a string but was BEGIN_ARRAY求助

错误原因

这是Gson JSON反序列化时的类型不匹配错误,错误信息已经明确指出问题位置:JSON根路径下的message字段,你定义的接收模型预期该字段是字符串类型,但接口实际返回的该字段是数组格式,Gson解析时遇到数组起始符[和预期类型不符,因此抛出异常。
你当前的RestaurantModel类中message字段定义为String类型,和接口返回结构不匹配。

解决方案
  • 优先确认接口返回的message字段的实际格式:可以先通过抓包或者打印Retrofit返回的原始响应,拿到完整JSON结构,确认message字段的真实类型。
  • 如果后端设计的message本身就是数组类型,直接修改RestaurantModel中的message字段类型即可:将private String message;改为private List<String> message;,同步修改对应的getter、setter方法的参数和返回值类型。
  • 如果message字段存在兼容场景(有时返回字符串、有时返回数组),可以给message字段自定义TypeAdapter,兼容两种类型的解析逻辑,比如遇到数组时自动拼接为字符串,或者统一转为列表存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:45:00