本文主要為大家分享了Ajax獲取顯示Json數據的一種方法,供大家參考,具體內容如下
1、首先前臺用Ajax,其中注意dataType一定要選擇json方式,Action成功返回給頁面的Json內容是這樣的[{"number":"V006","names":"LiLei"}],可見comment['names']對應"names":"LiLei",comment['number']對應"number":"V006"。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$.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字段
1
2
3
4
5
6
7
|
public String mystudent() throws Exception{ List list=priceService.query(); //調用接口實現類 this .jsonUtil(list); return null ; } |
3、action頁面專門寫一個方法jsonUtil來做為json方法
1
2
3
4
5
6
7
8
9
|
// 調用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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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; } } |
以上就是本文的全部內容,希望對大家的學習有所幫助。