Ajax獲取顯示Json資料的一種方法
阿新 • • 發佈:2019-01-25
本文主要是在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; } }