本文主要为大家分享了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;
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助。