SpringMVC之JSON数据交互

本文介绍了SpringMVC中如何进行JSON数据交互,包括使用fastjson的配置步骤。内容涵盖导入相关jar包,Controller类的设置,以及前端jsp的处理。SpringMVC通过HttpMessageConverter进行对象到JSON的转换,对于fastjson,需要手动配置HttpMessageConverter。

对于gson和jackson这两个json处理依赖,直接添加即可。 除此之外,其他的json解析器如fastjson都需要手动配置HttpMessageConverter.
实际上,在SpringMVC中,是由一个名叫HttpMessageConverter的类来提供对象到JSON字符串的转换的。而SpringMVC默认就提供了Gson和Jackson的HttpMessageConverter,分别是org.springframework.http.converter.json.GsonHttpMessageConverter和MappingJackson2HttpMessageConverter。对于其他的JSON解析器,只需要开发者手动配置一下HttpMessageConverter即可。

1、导入相关jar包

在这里插入图片描述

2、Controller类

在返回对象上加上@ResponseBody注解即可

package com.zhouym.json;

import java.util.Arrays;
import java.util.List;

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

import com.zhouym.javabean.User;

@Controller
public class MyController {
	
	@RequestMapping("/show")
	@ResponseBody
	public User show() {
		return new User(1,"老周","深圳");
	}
	
	@RequestMapping("/show1")
	@ResponseBody
	public List<String> show1() {
		return Arrays.asList("深圳","北京","广州");
	}
	
	@RequestMapping("/show2")
	@ResponseBody
	public List<User> show2() {
		return Arrays.asList(new User(1, "张三", "北京"),new User(2, "李四", "深圳"));
	}
	
	
}

测试结果
在这里插入图片描述
在这里插入图片描述

fastjson进行数据交互

由于系统没有自动支持fastjson,所以需要我们手动配置HttpMessageConverter

1、导入fastjson包

在这里插入图片描述

2、配置fastjson的HttpMessageConverter

在这里插入图片描述

3、Controller类

在这里插入图片描述

4、前端jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--引入jquery.js-->
<script type="text/javascript" src="js/jquery.min.js"></script>
<title>Insert title here</title>
</head>
<body>
	<button type="button" onclick="showInfo()">提交json数据</button>
</body>
<script type="text/javascript">
	function showInfo(){
		$.ajax({
			//提交方式必须是post
			type:"post",
			url:"show3",
			//如果想以json格式把数据提交到后台的话,这个必须有,否则只会当做表单提交
			contentType:"application/json",	
			//JSON.stringify()必须有,否则只会当做表单的格式提交
			data:JSON.stringify({"id":100,"name":"张三","address":"深圳"}),
			dataType:"json",
			success:function(data){
				alert("success:"+data);
			},
			error:function(data){
				alert("error:"+data);
			}
		})
	}

</script>
</html>

测试结果
在这里插入图片描述
在这里插入图片描述

springmvc中,直接接收json参数,如果参数中有日期的话,不需要定义日期类型转换器,日期的转换由gson/jackson/fastjson来提供。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值