最近在写一个名为 DoubanSDK4Android 的豆瓣开发者平台 Android SDK, 在这个项目中,服务器使用 json 作为返回信息的格式,为了加快开发速度,我使用 Gson 代替 Java 语言中自带的 JSONObject 来解析 json 格式。
当我正在享受 Gson 给我带来的便利的时候,我遇到问题了。
因为 Gson 在转化 json 字符串到对象的时候,要求类的成员变量的名称必须和 json 中的 key 值相同。但是郁闷的是,在封装一个接口的时候发现,json 字符串中的 key 为 Java 的关键字。
{
...
"new": false
...
}
按照 Gson 的约定,就必须编写一个变量名为new
的类,但是结果可想而知,编译不通过。
public class BoxSubject {
private boolean new;
}
幸好,Google 已经为我们想好了解决办法,只要对该变量添加Field Naming Support就可以了。
public class BoxSubject {
@SerializedName("new")
private boolean new;
}
到此,就完美地解决了我们遇到的问题。
网友评论