关于取出JSONArray里面的值为空并修改的代码

项目中有这么个需求,点击标题进入新闻详细界面。很简单的功能但是在我这个Struts2里面确实有点费劲。首先第一步跳转界面,然后通过加载页面方法把信息显示在页面上。

第一个遇到的问题是,跳转界面的时候如何获得id的值,于是在网上找到了从URL里面获取ID的值的代码:

var id="";
	$(function(){
		 var url = location.search; //获取url中"?"符后的字串   
		  var theRequest = new Object();   
		   if (url.indexOf("?") != -1) {   
		      var str = url.substr(1);   
		      strs = str.split("&");   
		      for(var i = 0; i < strs.length; i ++) {   
		         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);   
		      }   
		   }   
		   id=theRequest.id;
		   return theRequest; 
	})

然后接下来就比较简单了,ajax异步获取对象信息,但是问题就出现在这里了,因为在数据库里面有的字段为NULL所以,当JSONArray转换成JSONObject的时候会报错。报错内容为:

Method public Java.lang.String org.apache.commons.lang.exception.NestableRuntimeException.getMessage(int) threw an exception when invoked on net.sf.json.JSONException: Object is null
The problematic instruction:
----------
==> ${msg[0]} [on line 68, column 29 in org/apache/struts2/dispatcher/error.ftl]
于是在网上找了很多种方法,没有一个是从JSONArray中判断为空然后修改值的方法,于是自己写了一个。希望能帮到大家:

for (int i = 0; i < array.size(); i++) {
			JSONObject json=new JSONObject();
			json=array.getJSONObject(i);
			if(json.get("imagePath")==null||!"".equals(json.get("imagePath"))){//因为在添加的时候只有这个值可能为NULL所以我就判断了这个。
				json.put("imagePath", " ");
			}
		}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值