JSON笔记

 开发者博客www.developsearch.com

 

 

JS解析json:

 

var t2=[{'srcAreaId':'100362','srcAreaName':'中国大陆'},{'srcAreaId':'100363','srcAreaName':'澳门'}];  
var myobj=eval(t2);  //通过eval() 函数可以将JSON字符串转化为对象
for(var i=0;i<myobj.length;i++){  
   alert(myobj[i].name);  
   alert(myobj[i].age);  
}  
 

 

stringifier用来将一个js对象转换为 JSON 文本

var jsonText = JSON.stringify(obj);  
console.info(jsonText);   

 

 

将ext的grid中选中的记录拼装成json对象传到后台处理

前台JS:
var districts = [];
var recs = distSelectGrid.getSelectionModel().getSelections();
for(var i = recs.length -1; i >= 0; i--){
     var districtObj = {};
     districtObj.distCode = recs[i].data.distCode;
     districtObj.distName = recs[i].data.distName;
     districts.push(districtObj);
}
console.info(districts);

Ext.Ajax.request({
	url: 'saveNewRebateAreaDistricts.action',
	params: 'parentId='+currentNode.id+'&districtJSONStr='+Ext.util.JSON.encode(districts), //把输入参数进行JSON编码
	waitMsg: "${app:i18n('saving')}",
	success: function(response) {
		var resp = Ext.util.JSON.decode(response.responseText);
		if(resp.success==true){
			currentNode.reload();
			onDistSearch();
			editForm.getForm().reset();
		}else{
			if(resp.status==0){
				Ext.MessageBox.alert('${app:i18n('prompt')}','${app:i18n('prompt.connection.exception')}');
		        } else {
				Ext.MessageBox.alert('${app:i18n('prompt')}',resp.status);
		        }
		}
	}
});	

后台取数:
public void saveNewRebateAreaDistricts(Long parentId,String districtJSONStr) {
	JSONArray jsonArray = JSONArray.fromObject(districtJSONStr); 
	for(int i = 0; i < jsonArray.size(); i++){
			JSONObject jsonObject = jsonArray.getJSONObject(i);
			String distCode = jsonObject.get("distCode").toString();
			String distName = jsonObject.get("distName").toString();
			
			NewRebateArea newRebateArea = new NewRebateArea();
			newRebateArea.setCreator(super.getCurrentUser().getUsername());
			newRebateArea.setCreateTm(new Date());
			newRebateArea.setModifier(super.getCurrentUser().getUsername());
			newRebateArea.setModifyTm(new Date());
			newRebateArea.setAreaCode(distCode);
			newRebateArea.setAreaName(distName);
			newRebateArea.setParentId(parentId);
			newRebateArea.setIsDistrict(new Long(1));
			this.newRebateAreaDao.saveOrUpdate(newRebateArea);
	} 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值