欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springmvc中Json的使用

程序员文章站 2022-07-12 19:41:42
...

首先想使用springmvc中的Json支持需要先加入三个jar包

如果是使用maven构建项目只需要添加jackson-databind的jar包其他两个会自动依赖 

springmvc中Json的使用

 上面是使用jackson,也可以使用fastjson,功能是一样的,只是用不同的类实现了

这个是使用jackson时用的转换器类

springmvc中Json的使用

这个是使用fastjson时使用的转换器类

springmvc中Json的使用

想让springmvc方法放回Json,在方法上加上@ResponseBody注解,如果相让参数传入的也是Json,在请求参数前面加@RquestBodu注解即可,或者将@Controller注解换成@RestController注解,则方法上不用添加@ResponseBody

@ResponseBody
	@RequestMapping(value="/testJson", method = RequestMethod.GET)
	public Collection<Employee> testJson(){
		return employeeDao.getAllEmployee();
	}

今天在使用的时候出现了问题

controller

     @RequestMapping(value = "/save",method = RequestMethod.POST)
    public String save(@RequestBody Employee employee){

jsp

$.post("${pageContext.request.contextPath}/employee/save",args,function (data) {
    alert(data);
},"json");

上面的请求是不成功的,原因就是没有指定数据请求头中数据的格式,应该指定为application/json的格式

$.ajax({
    type: 'POST',
    url: "${pageContext.request.contextPath}/employee/save",
    data: JSON.stringify(args),
    success: function (data) {
    alert(data);
    },
    headers : { 'content-type' : 'application/json' }
});

 上面是正确的请求,应该指定数据的格式和请求头的格式,必须同时指定