赞
踩
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);
-
- }
此处是在工作总遇到的一个小问题,由于之前没有遇到所以此处做下记录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。