Json 解析 null 变为 “null”

推送解析:key为“url”的 value 值 null 变为“null”  ,影响了后面的判断 if( !TextUtils.isEmpty(jumpPath))

解决方法: json.isNull(key)  和 json.optString(key,null)来处理 ,其中key是json 中的键值

message_extra的值
    {"id":1,"push_key":"{\"authState\":null,\"type\":\"31\",\"url\":null,\"bean\":{\"id\":null,\"title\":\"test\",\"content\":\"conte\",\"type\":1,\"targetId\":\"208\",\"targetName\":\"测试banner无链接\",\"targetUrl\":null,\"gmtCreate\":null,\"gmtModified\":null}}"}


JSONObject jsonObject = new JSONObject(message_extra);
String push_key = jsonObject.getString("push_key");
JSONObject push_key_json = new JSONObject(push_key);
String jumpPath1 = push_key_json.getString("url");  返回的是"null",不是null
String jumpPath2 = UiUtils.optString(push_key_json, "url"); 返回的是 null,

//用jumpPath1,会出现错误直接去执行else
if (!TextUtils.isEmpty(jumpPath)) {
    
}else{

}

UiUtils中的optString()方法如下:

/**
     * 如果原本testdate的类型是String,会把null解析变成”null”
     * 对于接下来判断uidata是不是空,例如 if("".equal(uidata)||null==uidata) 会出错
     *
     * @param json
     * @param key
     * @return
     */
    public static String optString(JSONObject json, String key) {
        if (json.isNull(key)) {
            return null;
        } else {
            return json.optString(key, null);
        }
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值