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

在使用Gson解析包含Java关键字的JSON时遇到问题。解决方法是在类成员变量上使用@SerializedName注解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在写一个名为 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;
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值