博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springMVC绑定json参数之二(2.1)
阅读量:4609 次
发布时间:2019-06-09

本文共 1988 字,大约阅读时间需要 6 分钟。

二、springmvc 接收不同格式的json字符串

1.首先扫盲几个知识点:

这个绑定json参数讲的都是用@RequestBody标签,所以前台必须传json字符串,不能是json对象,但是如果不用@RequestBody标签,前台是可以发送json对象的,而springmvc不能简单将复杂json对象在后台作为一个对象绑定(前台要用表单的形式构造json复杂对象,后台才能正常绑定,不用@RequestBody标签就是傻瓜式绑定,只要变量名一样,就绑定,包括对象里的和方法中单独的变量参数),例子如下:

前台发送:

1 test = function () { 2          3                 jQuery.ajax({   4                     url : cur_url+"/weekly/test",   5                     type : 'post',   6                     data : {"jsonObjName":"123","id":456},   7                     dataType : 'json', 8                     success : function (data, textStatus) {  9                         console.info(data);10                         console.info(data.length);11                         for ( var i = 0; i < data.length; i++) {12                             console.info(i + ":" + data[i].address);13                             console.info(i + ":" + data[i].userName);14                         }15                         alert("test success!");16                     },17                     error:function(){18                         alert("test error!");19                     }20                 });21     };

 后台接收:

1     @RequestMapping("/test") 2     @ResponseBody 3     public List
test(String jsonObjName, Integer id) { 4 List
uList = new ArrayList
(); 5 User u = new User(); 6 u.setUserName(jsonObjName); 7 uList.add(u); 8 return uList; 9 10 }

这里没有用到@RequestBody标签,ajax请求的时候不能指定contentType:"application/json",指定 dataType : 'json'的目的是后台返回json类型,这里spingmvc返回的是List<User>的json字符串。

这里发送的是json对象,后台接收json对象中的key对应的value,后台变量名必须和前台json对象中的key一致,由于spring绑定参数时是傻瓜式绑定,只要遇到变量名和前台json对象中key一样的就绑定,所以控制器参数中有一个对象,对象中有变量类型是String,变量名是jsonObjName 也会进行绑定,这里不做验证。

需要注意的是:不用@RequestBody标签,前台只能传递json对象,不能传递json字符串,这里json对象类似于表单提交绑定参数的方式,参考:http://www.cnblogs.com/cainiao-Shun666/p/6557624.html

例子见下一节。

 

转载于:https://www.cnblogs.com/cainiao-Shun666/p/6767345.html

你可能感兴趣的文章
2018秋寒假作业4—PTA编程总结1
查看>>
android自适应屏幕
查看>>
2019-北航面向对象-电梯作业总结
查看>>
SqlHelper
查看>>
初识算法、数据结构
查看>>
Luogu4069 SDOI2016 游戏 树链剖分、李超线段树
查看>>
Java的内部类真的那么难以理解?
查看>>
一文搞懂Java环境,轻松实现Hello World!
查看>>
hash实现锚点平滑滚动定位
查看>>
也谈智能手机游戏开发中的分辨率自适应问题
查看>>
【转】MYSQL数据库设计规范与原则
查看>>
《中国大历史》—— 读后总结
查看>>
回溯法算法框架
查看>>
残差学习【转载】
查看>>
0302 关于IT行业的就业感想
查看>>
3、流程语句相关练习
查看>>
30、git 使用
查看>>
iOS网络-02-数据解析(JSON与XML)
查看>>
python列表求和的几种等效电路
查看>>
Luogu P3393 逃离僵尸岛
查看>>