Java 中判断 JSONObject 对应的 VALUE 为空

java 中判断 JSONObject 对应的 VALUE 为空
代码逻辑:

String summaryResult = databusUtil.callByJson( databusAccountSummaryUrl, queryParamsCountJson.toJSONString());
net.sf.json.JSONObject summaryDataResultJson = net.sf.json.JSONObject.fromObject(summaryResult);
JSONArray summaryJsonArray = JSONArray.fromObject(summaryDataResultJson.get("data"));


此时由于summaryJsonArray里有一个0位的值为"null"
当此值用getJSONObject(i)赋值给 net.sf.json.JSONObject包下的json时会报错 JSONObject 对应的 VALUE 为空 JSONNull的异常

尝试用了几种方法
1直接用summaryJsonArray.get(i) !=null 判断
结果:无效果因为返回值是null字符串不是null对象
2直接用summaryJsonArray.get(i) !="" 判断
结果:无效。
3直接用summaryJsonArray.get(i).equals("null")判断
结果:生效。可以通过判断调过赋值
如下:

for(int i=summaryJsonArray.size()-1;i >= 0;i--){
    net.sf.json.JSONObject json=new net.sf.json.JSONObject();
    if (!summaryJsonArray.get(i).equals("null")){
        json = summaryJsonArray.getJSONObject(i);
    }
    json.put("account_id", "-1");
    jsonArray.add(0, json);

}

此处是在工作总遇到的一个小问题,由于之前没有遇到所以此处做下记录

猜你喜欢

转载自blog.csdn.net/Alice_qixin/article/details/86492447