Android 将json变量映射为关键字
因此,我正在使用一个API进行改造,该API有一个名为“public”的变量。我如何让它像所有其他变量一样自动映射呢 例如:Android 将json变量映射为关键字,android,gson,retrofit,Android,Gson,Retrofit,因此,我正在使用一个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
@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;
}
改型使用Gson进行JSON之间的序列化 Gson提供了一个
@SerializedName
注释,以更改字段或方法映射到的键。您可以使用它来处理保留字:
@SerializedName("public")
public String isPublic;
请看这个,如果每个键中都有下划线,这是一个更整洁的解决方案。效果很好。我不熟悉处理注释,所以我忘了检查类似的东西。这也将有助于去除那些带有下划线的丑陋的非标准变量。@JaySee在创建
GsonConverter
时,您还可以查看setFieldNamingPolicy
/setFieldNamingStrategy
选项-这些选项可用于自动将带下划线的JSON映射到驼峰大小写的属性名称(反之亦然)嗨,杰克,能不能请广场的人就这个问题给点提示:?
@SerializedName("public")
public String isPublic;