Jquery解析JSON和XML示例

我来分享下今天用Jquery自己写的对调用ajax返回的JSON数据格式和XML数据格式处理的方法:

1.解析JSON数据,代码如下:

 

//设置申请人其他信息
function setApplyPersonInfo(){
	
	var applyEmpId = $("#whir"+"\\$"+"t3060_f3457_Id").val();	
	$.ajax({
		url: "/defaultroot/devform/workflow/it_addaccounts_ajax.jsp",
		type: "post",
		data: {empId:applyEmpId},
		dataType:"json",
		async:false,
		success:function(data){			 
			//alert(data[0].idCode);//多条数据格式,亦可通过jQuery循环;
			//alert("code:"+data.idCode);//多条数据格式,亦可通过jQuery循环;
			$("#whir"+"\\$"+"t3060_f3458").val(data.idCode);//itcode
			$("#whir"+"\\$"+"t3060_f3459").val(data.phone);//联系方式
			$("#whir"+"\\$"+"t3060_f3462").val(data.orgName);//申请部门
			$("#whir"+"\\$"+"t3060_f3463").val(data.orgCode);//部门编码			
		},
		error:function(XMLHttpRequest, textStatus, errorThrown) { 
			alert("Getting PersonInfo Error!"); 
		}
		
	  });
}

 JSP脚本如下:

//id,workstatus
String tmp="";
if(result!=null && result.length>0 ){
	//tmp=result[0]+","+result[1]+","+result[2]+","+result[3];//idcode,orgName,orgCode,phone
   //----------多条数据JSON格式 [{},{},....].start
   //tmp+="[{";
   //tmp+="\"idCode\":"+"\""+result[0]+"\",";
   //tmp+="\"orgName\":"+"\""+result[1]+"\",";
   //tmp+="\"orgCode\":"+"\""+result[2]+"\",";
   //tmp+="\"phone\":"+"\""+result[3]+"\"";
   //tmp+="}]";
   // ----------多条数据JSON格式 [{},{},....].end
   //----------单条数据JSON格式 {"id":"1","name":"dongxf",...}start
   tmp+="{";
   tmp+="\"idCode\":"+"\""+result[0]+"\",";
   tmp+="\"orgName\":"+"\""+result[1]+"\",";
   tmp+="\"orgCode\":"+"\""+result[2]+"\",";
   tmp+="\"phone\":"+"\""+result[3]+"\"";
   tmp+="}";
	
}

//System.out.println("===tmp:"+tmp);
out.clear();
out.print(tmp);

 2.解析XML数据,代码如下:

 

//设置所属应用人信息
function setApplyAppInfo(){
	
	var appName = $("#whir"+"\\$"+"t3060_f4577").val();
	
	$.ajax({
		url: "/defaultroot/devform/workflow/it_addapps_ajax.jsp",
		type: "post",	
		data:{appName:appName},		
		dataType: ($.browser.msie) ? "text" : "xml", //接受数据格式  	
		async:false,
		success:function(data){
			
			var xml;  
            if (typeof data == "string") {            	
                 xml = new ActiveXObject("Microsoft.XMLDOM");////ie6,ie7需要,firefox,ie8不需要  
                 xml.async = false;
                 xml.loadXML(data);
            } else {
                 xml = data;                
            }
            var managerNumber = $(xml).find("managerNumber").eq(0).text();
            var managerName = $(xml).find("managerName").eq(0).text();           
            $("#whir"+"\\$"+"t3060_f4579").val(managerNumber);//系统管理员编号
            $("#whir"+"\\$"+"t3060_f4578").val(managerName);//系统管理员姓名
           
		},
		error:function(XMLHttpRequest, textStatus, errorThrown) { 
			alert("Getting AppInfo Error!");
		}
		
	  });
}

 

String tmp="";
if(result!=null && result.length>0 ){
	//tmp=result[0]+","+result[1]+","+result[2]+","+result[3];//idcode,orgName,orgCode,phone
   
   
	//----------多条数据JSON格式 [{},{},....].start
   //tmp+="[{";
   //tmp+="\"idCode\":"+"\""+result[0]+"\",";
   //tmp+="\"orgName\":"+"\""+result[1]+"\",";
   //tmp+="\"orgCode\":"+"\""+result[2]+"\",";
   //tmp+="\"phone\":"+"\""+result[3]+"\"";
   //tmp+="}]";
   // ----------多条数据JSON格式 [{},{},....].end
   //----------单条数据JSON格式 {"id":"1","name":"dongxf",...}start
   
   
   //json格式返回
   //tmp+="{";
   //tmp+="\"managerNumber\":"+"\""+result[0]+"\",";//管理员编号 
   //tmp+="\"managerName\":"+"\""+result[1]+"\"";//管理人员姓名
   //tmp+="}";
   
   //xml格式返回
	//tmp+="<result>123";	
	//tmp+="</result>";//测试数据
	
	//这里的xml根标签不是必须写成<xml></xml>,网上有说到必须写成<xml></xml>,事实上并非如此
	//当然最好写成<xml></xml>是不是显得规范些,根据个人情况而定
	tmp+="<xml>";
    tmp+="<managerNumber>"+result[0]+"</managerNumber>";
	tmp+="<managerName>"+result[1]+"</managerName>";
	tmp+="</xml>";//测试数据
   
	
}

//System.out.println("===tmp:"+tmp);
response.setContentType("text/xml;charset=utf-8");
out.clear();
out.print(tmp);

 

你可能感兴趣的:(jquery)