下面舉一個(gè)簡(jiǎn)單的例子,提供部分代碼:
1.導(dǎo)入jar包(注意版本一致)。
jackson-annotations.jar
jackson-core.jar
jackson-databind.jar
2.前端:服務(wù)端將返回值結(jié)果 以json數(shù)組的形式 傳給了result。
部分代碼:
$("#testJson").click(function(){
//通過(guò)ajax請(qǐng)求springmvc
$.post(
"handler/testJson",//服務(wù)器地址
//例如{"name":"zs","age":23}這樣的json數(shù)據(jù)
function(result){//服務(wù)端處理完畢后的回調(diào)函數(shù) List<Student> students, 加上@ResponseBody后, students實(shí)質(zhì)是一個(gè)json數(shù)組的格式
for(var i=0;i<result.length ;i++){
alert(result[i].id +"-"+result[i].name +"-"+result[i].age);
}
}
);
3.控制器
@ResponseBody修飾方法,會(huì)將該方法的返回值 以一個(gè)json數(shù)組的形式返回給前端。
部分代碼:
@ResponseBody//告訴SpringMVC,此時(shí)的返回 不是一個(gè) View頁(yè)面,而是一個(gè) ajax調(diào)用的返回值(Json數(shù)組)
@RequestMapping(value="testJson")
public List<Student> testJson() {
//Controller-Service-dao
//StudentService studentService = new StudentServiceImp();
//List<Student> students = studentService.qeuryAllStudent();
//模擬調(diào)用service的查詢操作
...
List<Student> students = new ArrayList<>();
students.add(stu1) ;
students.add(stu2) ;
students.add(stu3) ;
return students;
}