JsonNull 和null 的区别 (JSONNull 和 null 的区别)

今天在写代码的时候,发现一个问题,代码如下:

Object   object_vehicleLocation  =  jObject_decodedValue.get("vehicleLocation"); 

注意jObject_decodedValue 这是一个Json对象,但是这个Json对象中有可能有key值"vehicleLocation",

也有可能没有key值"vehicleLocation"。

没有key值"vehicleLocation"好处理,程序也不会报错。 返回的object_vehicleLocation 变量的值是 null ,如下图:

直接判断这个变量是否是null就可以了。

但是如果有key值"vehicleLocation",如果key值对应的value有值很好处理,直接将value值用(JSONObject)前缀进行强转为

JSON对象即可。

但是如果有key,但是这个key在原json中对应的是一个null,例如原 json对象中是:vehicleLocation:null  ,

这个时候通过JSON对象的get()方法取出来的值不是简单的 null ,而是一个JsonNull ,如下debug截图:

虽然在变量表的下方都是一个 null ,但是上方的属性不一样,此null 非彼null  。 这是个 JsonNull  。

如果你要判断  object_vehicleLocation 变量是否是null  ,需要这样写:

            if(object_vehicleLocation == null || JSONNull.getInstance().equals(object_vehicleLocation) ) {
                         do something 。。。
             }

用这个spring框架自带的方法处理这个问题,即   JSONNull.getInstance().equals(变量) 

如果对你有用,记得点个赞噢~

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值