改造 - 我可以映射响应数据字段吗?

时间:2015-03-10 12:05:12

标签: android retrofit

我正在使用Retrofit测试/创建一个REST客户端到新的Basecamp API。它看起来像这样:

class Project {
  String name;
  String appUrl;
}

interface Basecamp {
    @GET("/projects.json")
    List<Project> projects();
}

在json响应中,appUrl的源字段称为app_url。除了重命名类中的字段之外,还有一种简单的方法可以将响应数据映射到我的数据结构中吗?

2 个答案:

答案 0 :(得分:10)

所以我在question中找到了答案。事实证明这可以使用Gson解决:

class Project {
  String name;

  @SerializedName("app_url")
  String appUrl;
}

答案 1 :(得分:2)

如果您使用Jackson进行JSON解析并使用Retrofit,则可以使用@JsonProperty注释:

示例:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonIgnoreProperties (ignoreUnknown = true)
    class Project {
      @JsonProperty("name")
      String name;
      @JsonProperty("app_url")
      String appUrl;
    }