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

使用Retrofit+GSON解析API JSON数组遇异常,求解决方法

第二个问题:换成List<App>后字段全为null

这是因为GSON无法正确识别Kotlin类的属性映射,常见原因是类结构不符合GSON的解析要求,解决方法二选一:

方法1:改用data class(推荐)

Kotlin的data class会自动生成符合JavaBean规范的getter/setter,GSON能直接识别字段映射,同时建议把Number换成具体的Int(避免类型转换隐患):

data class App(
    val id: Int,
    val name: String
) : Serializable

方法2:给普通类添加注解和无参构造

如果必须用普通类,需要满足两个条件:

  1. 给字段添加@SerializedName注解(确保和JSON字段名严格对应);
  2. 提供无参构造函数(GSON默认需要):
class App : Serializable {
    @SerializedName("id")
    var id: Int = 0

    @SerializedName("name")
    var name: String = ""

    // 无参构造
    constructor()

    constructor(id: Int, name: String) {
        this.id = id
        this.name = name
    }
}

另外检查Retrofit的GSON配置,确保没有开启特殊的字段过滤规则,同时JSON字段名和类属性名完全一致(大小写敏感)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 16:33:19