解决Gson解析Json时,Json 中Key为Java关键字的问题

最近在一个项目中,服务器使用 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;
}

到此,就完美地解决了我们遇到的问题。

引用链接 解决Gson解析Json时,Json 中Key为Java关键字的问题

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注