Spring mvc 接收json对象

本文通过代码实例介绍spring mvc 接收json数据的方法,具体详情如下所示:

接收JSON

使用 @RequestBody 注解前台只需要向 Controller 提交一段符合格式的 JSON,Spring 会自动将其拼装成 bean。

1)在上面的项目中使用第一种方式处理返回JSON的基础上,增加如下方法

Java代码

rush: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().put("success","true"); }

这里的POJO如下:

Java代码

rush:java;"> public class User { private String name; private String age; //getter setter }

2)而在前台,我们可以用 jQuery 来处理 JSON。从这里,我得到了一个 jQuery 的插件,可以将一个表单的数据返回成JSON对象:

Js代码

rush: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代码

rush: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',url: 'add.do',data: jsonuserinfo,success: function(data){ alert("新增成功!"); },error: function(){ alert("error") } }); }); });

但是似乎用Spring这套东西真是个麻烦的事情,相对Jersey对RESTful的实现来看,确实有很多不简洁的地方。

以上所述是本文给大家分享的Spring mvc 接收json数据的相关资料,希望大家喜欢。

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...