当前位置:编程学习 > XML/UML >>

jquery+Ajax框架处理,XML,JSON,GSON对象传送!详解+案列!struts2的支持

package acc.testJSON;

import org.json.JSONArray;
import org.json.JSONObject;

public class Test {

	/**
	 * json格式说明
	 * {}一个对象
	 * []一个数组
	 * key:value
	 * JSONArray
	 * @param args
	 */
	public static void main(String[] args) {
		String json="{'user':'json','pass':'123'}";
		//解悉json格式字符串
		JSONObject jsonObj=new JSONObject(json);
		String user=jsonObj.getString("user");
		String pass=jsonObj.getString("pass");
		System.out.println("user: "+user+"  \tpass:  "+pass);

		
		System.out.println("------------------------------>");
		//解析json数组格式
		String jsonArray="[{'age':50, 'isOad':false, 'user':{'name':'胡锦涛', 'leve':100}},{'user':{'name':'习近平', 'leve':100}, 'age':333, 'isOad':true}]";
		JSONArray array=new JSONArray(jsonArray);
		
		for(int i=0;i<array.length();i++){
			//获取第i个数组内容,得到一个josn对象
			JSONObject obj=array.getJSONObject(i);
			//输出josn对象的内容
			System.out.println("age: "+obj.getInt("age"));
			System.out.println("isOad: "+obj.getBoolean("isOad"));
			//获取josn对象里的 用户对象
			JSONObject userJ=obj.getJSONObject("user");
			//输出用户对象
			System.out.println("name: "+userJ.getString("name")+"\tleve: "+userJ.getInt("leve"));
		}
		
	}

}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>

<include file="jqueryAction.xml" />
<package name="default1" namespace="/" extends="json-default">

<!-- xml对象方式 -->
<action name="getXmlInfo" class="accp.struts2.GetXmlInfo"/>


<!-- json -->
<action name="getJsonInfo" class="accp.struts.json.GetJsonInfo">
<result name="success" type="json">
<!-- 排除属性,不会序列化 -->
<param name="excludeProperties">myAge</param>
<!-- 指定序列化从那个根开始
<param name="root">person</param> -->
<!-- 序列化包括父类的属性 -->
<param name="ignoreHierarchy">false</param>
<!-- 排除空值的属性 -->
<param name="excludeNullProperties">true</param>
</result>
</action>


<!-- Gson Test -->
<action name="gsonAction" class="accp.struts.json.GetGsonAction">
</action>


</package>
</struts>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'xmlTest.jsp' starting page</title>
    <script type="text/javascript" src="jquery/jquery-1.9.1.js">
    
    </script>
    <script type="text/javascript">
	    /**
	    *ajax 第一个参数uri地址
	    *第二个参数:传送过去的值
	    *第三个参数:反回的回调函数(数据,状态);
	    */
    
    function getInfo(){
    alert($("#name").val());
    $.post(
    "getXmlInfo.action", 
    { name:$("#name").val()},
    function(returnedDatas,status){ 
     if("success"==status) { 
     var id=$(returnedDatas).find("id").text();
     var name=$(returnedDatas).find("name").text();
     var age=$(returnedDatas).find("age").text();
     var adderss=$(returnedDatas).find("adderss").text();
    
     var htmls="<table width='980px' border='1' align='center'><tr> <td>id</td><th>name</th><th>age</th><th>adderss</th></tr><tr>"
     +"<td>"+id+"</td><td>"+name+"</td><td>"+age+"</td><td>"+adderss+"</td></tr></table>";
     $("body table:eq(0)").remove();
     $("#theBody").append(htmls);
   // alert(htmls);
    }
    }
    );
    }
    </script>

  </head>
  
  <body id="theBody">
    <select id="name">
     <option>刘备</option>
     <option>张三</option>
   </select>
   
   <input type="button" value="获取信息" onclick="getInfo()"/>
  </body>
</html>

 

补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,