因此,我正在使用一个API进行改造,该API有一个名为"public“的变量。我怎样才能像其他变量一样让它自动映射。
示例:
@GET("/?filter=my_images")
void getMyImages(
@Query("client_id") String id,
@Query("api_key") String key,
Callback<ImageList> callback
);
public static class Image{
int id;
String name;
String distribution;
String slug;
// Can't do this:
boolean public;
}
public static class ImageList{
String status;
List<Image> images;
}示例API结果(json):
{
"status": "OK",
"images": [
{
"id": 1,
"name": "My first snapshot",
"distribution": "Ubuntu",
"slug": "ubuntu-12.10-x32",
"public": true
},
{
"id": 2,
"name": "Automated Backup",
"distribution": "Ubuntu"
}
]
}发布于 2014-06-20 18:18:33
Retrofit使用Gson对JSON进行序列化。
Gson提供了一个@SerializedName注释,以更改将字段或方法映射到的键。您可以使用这个来处理您的保留字:
@SerializedName("public")
public String isPublic;发布于 2016-04-07 03:44:14
如果每个键中都有下划线,请查看这个link,它是一个更整洁的解决方案。
https://stackoverflow.com/questions/24332060
复制相似问题