1. 程式人生 > >Ajax獲取顯示Json資料的一種方法

Ajax獲取顯示Json資料的一種方法

本文主要是在java中用json與前臺Ajax資料互動

1、首先前臺用Ajax,其中注意dataType一定要選擇json方式,Action成功返回給頁面的Json內容是這樣的[{"number":"V006","names":"LiLei"}],可見comment['names']對應"names":"LiLei",comment['number']對應"number":"V006"。

			$.ajax({
				type: "post",
				 url:'apply/mystudent.action?',
				cache: false,
				dataType : "json",
				success: function(data){
					
					$.each(data, function(commentIndex, comment){
                 
                        alert("姓名"+ comment['names']);
               
                        alert("學號"+comment['number']);

                  });
		                               }
	                               }); 	

2、Ajax的URL指向在java的action中mystudent方法,返回的list其實是一個物件Student,包括了names和nunmber欄位

	public String mystudent() throws Exception{
		List list=priceService.query();//呼叫介面實現類
		
		this.jsonUtil(list);
		
		return null;
	}

3、action頁面專門寫一個方法jsonUtil來做為json方法
	// 呼叫json工具方法,傳入引數alist
	public void jsonUtil(Object accountlist) throws Exception {
		HttpServletResponse response = ServletActionContext.getResponse();
		log.info("JSON格式:" + accountlist.toString());

		String returnJson = JsonConvert.returnJson(accountlist);
		response.setCharacterEncoding("utf-8");
		response.getWriter().println(returnJson);
	}

4、我用的是一種比較新的json包jackson
import java.io.StringWriter;

import org.codehaus.jackson.map.ObjectMapper;

public class JsonConvert {
	static String jsonStr;
	public static String returnJson(Object object) throws Exception{
		ObjectMapper objectMapper = new ObjectMapper();
		StringWriter stringWriter = new StringWriter();
		objectMapper.writeValue(stringWriter, object);
		
		jsonStr = stringWriter.toString();
		return jsonStr;
	}
}