相思资源网 Design By www.200059.com
本文通过代码实例介绍spring mvc 接收json数据的方法,具体详情如下所示:
接收JSON
使用 @RequestBody 注解前台只需要向 Controller 提交一段符合格式的 JSON,Spring 会自动将其拼装成 bean。
1)在上面的项目中使用第一种方式处理返回JSON的基础上,增加如下方法:
Java代码
@RequestMapping(value="/add",method=RequestMethod.POST, headers = {"content-type=application/json","content-type=application/xml"}) @ResponseBody public Object addUser(@RequestBody User user) { System.out.println(user.getName() + " " + user.getAge()); return new HashMap<String, String>().put("success", "true"); }
这里的POJO如下:
Java代码
public class User { private String name; private String age; //getter setter }
2)而在前台,我们可以用 jQuery 来处理 JSON。从这里,我得到了一个 jQuery 的插件,可以将一个表单的数据返回成JSON对象:
Js代码
$.fn.serializeObject = function(){ var o = {}; var a = this.serializeArray(); $.each(a, function(){ if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
以下是使用 jQuery 接收、发送 JSON 的代码:
Js代码
$(document).ready(function(){ jQuery.ajax({ type: 'GET', contentType: 'application/json', url: 'jsonfeed.do', dataType: 'json', success: function(data){ if (data && data.status == "0") { $.each(data.data, function(i, item){ $('#info').append("姓名:" + item.name +",年龄:" +item.age); }); } }, error: function(){ alert("error") } }); $("#submit").click(function(){ var jsonuserinfo = $.toJSON($('#form').serializeObject()); jQuery.ajax({ type: 'POST', contentType: 'application/json', url: 'add.do', data: jsonuserinfo, dataType: 'json', success: function(data){ alert("新增成功!"); }, error: function(){ alert("error") } }); }); });
但是似乎用Spring这套东西真是个麻烦的事情,相对Jersey对RESTful的实现来看,确实有很多不简洁的地方。
以上所述是本文给大家分享的Spring mvc 接收json数据的相关资料,希望大家喜欢。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无Spring mvc 接收json对象的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。