我正在使用Retrofit测试/创建一个REST客户端到新的Basecamp API。它看起来像这样:
class Project {
String name;
String appUrl;
}
interface Basecamp {
@GET("/projects.json")
List<Project> projects();
}
在json响应中,appUrl
的源字段称为app_url
。除了重命名类中的字段之外,还有一种简单的方法可以将响应数据映射到我的数据结构中吗?
答案 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;
}