SpringMVC利用json接收复杂对象和数组

1,SpringMVC接收复杂参数必须要在参数前加

@RequestBody

2,ajax设置参数

contentType: 'application/json;charset=utf-8'(设置发送数据类型为json)

data: JSON.stringify(对象或者数组)(序列化json数据)

@Controller
public class SpringTest {
    @RequestMapping("myTest")
    public void springMVCTest(@RequestBody List<People> people){
        System.out.println(people);
    }
    @RequestMapping("/")
    public String home(){
        return "home.html";
    }
}
实体类(getter/setter略)
public class People {
    private String name;
    private Integer age;
    private Company company;
}
public class Company {
    private String name;
    private Address address;
}
public class Address {
    private String location;
    private String phoneNum;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <title>这是测试页面</title>
    <meta charset="utf-8">
</head>
<body>
<button onclick="doAjax()">测试按钮</button>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
    function doAjax() {
        $.ajax({
            url: "/myTest",
            type: "post",
            dataType: "json",
            contentType: 'application/json;charset=utf-8',
            async: true,
            data: JSON.stringify(
                [
                    {name: '小红', age: 20, company: {name: '阿里', address:{location:'杭州',phoneNum:'88888'}}},
                    {name: '小王', age: 22, company: {name: '腾讯', address:{location:'深圳',phoneNum:'99999'}}}
                ]
            ),
        });
    }
</script>
</html>

 输出

[People{name='小红', age=20, company=Company{name='阿里', address=Address{location='杭州',phoneNum='88888'}}},

People{name='小王', age=22, company=Company{name='腾讯', address=Address{location='深圳', phoneNum='99999'}}}]

(本测试基于SpringMVC 5.0.8) 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值