當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringMVC接收json数组对象
生活随笔
收集整理的這篇文章主要介紹了
SpringMVC接收json数组对象
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
最近幫一個妹子解決一個需求,就是前臺使用ajax傳三個相同的對象,再加一個form表單對象。然后遇到各種問題,終于解決了,@RequestBody接收J(rèn)son對象字符串 ?以前,一直以為在SpringMVC環(huán)境中,@RequestBody接收的是一個Json對象,一直在調(diào)試代碼都沒有成功,后來發(fā)現(xiàn),其實(shí) @RequestBody接收的是一個Json對象的字符串,而不是一個Json對象。然而在ajax請求往往傳的都是Json對象,后來發(fā)現(xiàn)用 JSON.stringify(data)的方式就能將對象變成字符串。同時ajax請求的時候也要指定dataType: "json",contentType:"application/json" 這樣就可以輕易的將一個對象或者List傳到Java端...
?前端
<span style="font-size:18px;">$(function() {$(".test").click(function() {var url = "${base}/ajax/my/msg/test";var obj1 = {"name":"zhangsan","age":"23"};var obj2 = {"name":"zhangsi","age":"33"};var arr = [];arr.push(obj1);arr.push(obj2); var abc = {"p":"pppp"}; $.post(url, {arr : JSON.stringify(arr), abc: JSON.stringify(abc)}, function(data) {if (data == "success") {alert("success");} else {alert("fail");}});});})</span>
@RequestMapping(value = "/ajax/my/msg/test", method = RequestMethod.POST) @ResponseBody public String test(@RequestParam(value="arr") String[] arr, @RequestParam(value="abc") String abc) {return "success"; }這樣傳就沒問題,還有一個例子:
jquery
<script type="text/javascript"> $(document).ready(function(){ var saveDataAry=[]; var data1={"userName":"test","address":"gz"}; var data2={"userName":"ququ","address":"gr"}; saveDataAry.push(data1); saveDataAry.push(data2); $.ajax({ type:"POST", url:"user/saveUser", dataType:"json", contentType:"application/json", data:JSON.stringify(saveData), success:function(data){ } }); }); </script>
java
@RequestMapping(value = "saveUser", method = {RequestMethod.POST }}) @ResponseBody public void saveUser(@RequestBody List<User> users) { userService.batchSave(users); }
以上大家可以試試
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的SpringMVC接收json数组对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js获取input上传文件名和后缀
- 下一篇: Spring多线程批量发送邮件(Thre