JSONObject optString或者getString方法取null问题

近来,在与服务端联调时发现个问题,总是拿不到数据,后来服务端发现客户端有个值为字符串"null"传过去了,服务端解析不了,导致该问题。

那为什么会传字符串"null"呢?原来是服务端下发的该值为null,但通过JSONObject.optString方法进行解析时,会把null转变为"null"字符串,故而出现该问题。另外,其getString方法也有这个问题。如:json数据:

{

"title": null,

"autoPlay": 0

}

则通过optString或者getString拿到的title为"null",则错误。

那么应如何避免呢?一个是服务端不下发null,防止该问题; 第二种方法则是客户端拿到数据后进行校正,校正方法有二:1、optString后进行判断是不是"null"字符串,是的话则置空;2、在调用optString前先通过JSONObject.isNull这个方法进行检测,如果不是null再取值,以防止得到"null"字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值