最近帮一个妹子解决一个需求,就是前台使用ajax传三个相同的对象,再加一个form表单对象。然后遇到各种问题,终于解决了,@RequestBody接收Json对象字符串 ​以前,一直以为在SpringMVC环境中,@RequestBody接收的是一个Json对象,一直在调试代码都没有成功,后来发现,其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,后来发现用 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); }

以上大家可以试试

SpringMVC接收json数组对象相关推荐

  1. SpringMVC 之@RequestBody 接收Json数组对象

    1. 摘要 程序流程: 前台使用ajax技术,传递json字符串到后台: 后台使用Spring MVC注解@RequestBody 接受前台传递的json字符串,并返回新的json字符串到前台: 前台 ...

  2. SpringMVC @RequestBody 接收Json数组对象

    @RequestMapping(value="/signIn",method=RequestMethod.POST)public int saveUser(@RequestBody ...

  3. Jersey Restful WebService 接收 JSON 数组 对象

    为什么80%的码农都做不了架构师?>>>    在使用 jersey restful 时 前端ajax post 数据到 服务器端,接收对象为null,测试代码 web: var t ...

  4. lombok 的bug?lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败

    大家好,我是烤鸭:     lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败.     环境版本:         spring 5.x ...

  5. SpringMVC接收json数据转对象中的一些问题(415错误的解决)

    SpringMVC接收json数据转对象中的一些问题(415错误的解决) 参考文章: (1)SpringMVC接收json数据转对象中的一些问题(415错误的解决) (2)https://www.cn ...

  6. android 接收js对象数组,java怎么接收js 数组对象数组对象

    java怎么接收js 数组对象数组对象 [2021-02-04 22:25:34]  简介: php数组转js数组对象的方法:首先获取[$arr]数组:然后使用函数[json_encode()]将数组 ...

  7. json vue 对象转数组_vue.js基于v-for实现批量渲染 Json数组对象列表数据示例

    本文实例讲述了vue.js基于v-for实现批量渲染 json数组对象列表数据.分享给大家供大家参考,具体如下: vuejs的出现减轻了对dom的直接操作,同时它提供的 v-for 渲染列表数据也给我 ...

  8. 订单 图片(一对多关系),地址保存在一个字段中(Json数组对象格式)

    订单---->图片(一对多关系),地址保存在一个字段中(Json数组对象格式) 1.前端列表动态添加: jsp:<form id="postForm" method=& ...

  9. java接收json数组_后端如何接收json数组

    如何接受json数组 这里用到了Hutool的java工具类库,这是类库地址:www.hutool.cn/docs/#/,有需要的可以自己参考文档集成到自己的项目里,比较方便,种类也比较齐全. 使用J ...

最新文章

  1. AI专家Marcus质疑深度学习:面临十大挑战(含参考文献)
  2. 微型数据中心正在向边缘发展
  3. gradle 指定springcloud 版本_Gradle初探
  4. 【论文解读】何恺明团队最新力作SimSiam:消除表征学习“崩溃解”,探寻对比表达学习成功之根源...
  5. 2019 最全阿里天猫Java 3面真题,含面试题答案!
  6. (68)FPGA模块调用(Verilog调用VHDL)
  7. java对excel加密_java 加密 excel
  8. f分布表完整图a=0.01_QC七大手法(工具)完整版介绍
  9. ant design vue 修改 table 的默认分页的pageSize
  10. 以下数值中 不能用作C语言标识符,C语言题库及答案(选择题)
  11. セルジュ / Serge
  12. 【经验】一劳永逸解决中文显示是大方块,不是乱码(最详细解释,有图有真相)
  13. 乐行天下激光雷达文件升级及wifi配置(Android系统版本)
  14. 如何成为一名优秀的技术Leader?
  15. js中unload什么意思_jQuery - unload事件处理
  16. 罗斯蒙特248温度变送器248HANANONS
  17. 通过淘宝链接获取解析获取商品id(淘宝API )
  18. 登录网站空间无法连接服务器,网站空间打不开的处理办法
  19. 初学者C++面向对象程序设计概念全总结最全的概念总结
  20. 微信小程序 跳转页面刷新页面的数据

热门文章

  1. java redirect 跨域_碰到了跨域问题, Redirect is not allowed for a preflight request
  2. android 简单的音乐播放器实现播放模式的切换
  3. opencv阈值化(五)
  4. ICCV 2021 | CMU朱俊彦团队:用一张草图轻松创建GAN模型
  5. Self-Orthogonality Module:一个即插即用的核正交化模块
  6. 新加坡科技设计大学(SUTD)招收计算机视觉方向全奖PhD学生
  7. 飞桨上线万能转换小工具,教你玩转TensorFlow、Caffe等模型迁移
  8. Oracle数据库教程
  9. Non-local Neural Networks:非局部神经网络
  10. 编辑器的合并用不了_Excel多工作簿合并为一个工作簿,10秒搞定,这才是最高效的方式...