页面传递Json对象,后台解析

使用的组件

前台组件:json2.js  来自 http://www.json.org/js.html
后台组件:json-lib-2.2.2-jdk15.jar


前台代码

1 通过页面生成json对象列表,然后转换成字符串
// 生成json对象 转字符串
	function makeTsJsonParam(){
		  var tsList = new Array();
		  var ts = {'tn_id':'','tn_trainSortie':'','tn_takeOffTime':'','tn_landingTime':'','tn_commander':'','tn_calendar':''};		
		  var list1 = $(".flightid");
		  var list2 = $(".tn_trainSortie");
		  var list3 = $(".tn_takeOffTime");
		  var list4 = $(".tn_landingTime");
		//  var list5 = $(".tn_realityLandingTime");
		  var list6 = $(".tn_commander");
		//  var list7 = $(".tn_mechanician");
		//  var list8 = $(".tn_notes");
		  var list9 = $(".tn_calendar");
		  //alert(list1.length);
		  for (var i=0;i
2 把处理过的Json字符串 提交给后台
//  把json字符串传递给后台
	function saveAllTrainSortie(){
		var str = makeTsJsonParam();
		// alert(str)
		var htmlStr = "-1";
		$.ajax({  
	       url:'../train/saveAllTrainFerrySortie.do',  
	          //url:'${ctx}/index.jsp',  
	          cache:false,  
	          type:'post',  
	          async:false,
	          dataType:'html',      
	          data:{   
	        	  trainSortieListStr:str,  
	      		  contentType: "application/x-www-form-urlencoded;charset=utf-8"  
	          },  
	          success:function(html){  
	              // alert("html:"+html)  
	              htmlStr = html; 
	          }  
	      })
	      return htmlStr
   		 /*  if(htmlStr==1){
   			  alert("保存成功");
   		  } */
	}
3 前台字符串转json对象
备注:json2 解析json字符时,需要"",而不是‘’,否则解析会出错 ,如 pw.write("[{\"label\": \"蔡志高\", \"value\": \"czg\"}, {\"label\": \"刘小磊\", \"value\": \"lxl\"}]");  

var datas=JSON.parse(html);
alert("html:"+datas.length) ;


后台代码

1 把字符串解析成 java对象  后处理。
public void saveAllTrainFerrySortie(HttpServletRequest request,HttpServletResponse response) {
			String trainSortieListStr = request.getParameter("trainSortieListStr");
			JSONArray array = JSONArray.fromObject(trainSortieListStr);
			for(int i=0;i




你可能感兴趣的:(javascript)