您的位置:首页 > 编程语言 > Java开发

SpringMVC-JSON

2016-06-05 22:38 381 查看
JSON数据

在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制,就是Spring3.x中新引入的HttpMessageConverter即消息转换器机制。在加入Jackson包之后,SpringMVC会自动加入MappingJackson2HttpMessageConverter,可以将对象和JSON数据之间进行转换。具体返回JSON数据的方法分为以下三步。

1.添加需要的三个Jackson jar包。

http://mvnrepository.com/search?q=com.fasterxml.jackson

1)jackson-annotations-2.7.4.jar

2)jackson-core-2.7.4.jar

3)jackson-databind-2.7.4.jar

2.通过JS请求数据

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script>
$(function(){
$("#testJSON").click(function(){
var url = this.href;
var args = {};
$.post(url, args, function(data){
for(var i = 0; i < data.length; i++){
var id = data[i].id;
var name = data[i].name;

console.log("id:" + id + ",name:" + name);
}
});
return false;
});
})
</script>
</head>
<body>
<a href="testJSON" id="testJSON">testJSON</a>
</body>
</html>

3.数据返回

返回一个JSON对象或是集合(List、Collection等)。使用注解@ResponseBody。
package spring;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class TestJSONController {
@ResponseBody
@RequestMapping("/testJSON")
public List<Person> testJSON(){
List<Person> list = new ArrayList<Person>();
list.add(new Person(1, "high"));
list.add(new Person(2, "high2"));
return list;
}
}

<完>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: