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

如何创建适配Retrofit接口返回嵌套data字段JSON响应的实体类

实现方案

你需要新增对应data嵌套节点的实体类,并在原有UploadImageData中添加对应字段即可完成解析,具体实现如下:

步骤1:修改响应实体类

可以通过内部静态类或者独立类的方式定义data节点的结构,推荐直接用内部静态类减少类文件数量,修改后的代码如下:

public class UploadImageData {
    private int errorCode;
    private String error;
    private String status;
    // 新增对应data节点的字段
    private Data data;

    // 内部静态类,对应JSON中data节点的结构
    public static class Data {
        private String id;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }
    }

    // 原有字段的Getter/Setter
    public int getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(int errorCode) {
        this.errorCode = errorCode;
    }

    public String getError() {
        return error;
    }

    public void setError(String error) {
        this.error = error;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    // 新增data字段的Getter/Setter
    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }
}

步骤2:解析后取值

请求成功后,可通过以下方式获取data节点中的id值:

UploadImageData result = response.body();
String imageId = result.getData().getId();

注意事项

  • 所有字段必须添加对应的Getter和Setter方法,Retrofit默认使用的Gson解析器需要通过这些方法读写字段值
  • 如果Java字段名和JSON返回的字段名不一致,需要给字段添加@SerializedName("JSON字段名")注解做映射
  • 也可以将Data类单独抽成独立的Java文件,解析效果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:24:04