Spring mvc 接收json对象


Posted in Javascript onDecember 10, 2015

本文通过代码实例介绍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数据的相关资料,希望大家喜欢。

Javascript 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
jQuery实现类似淘宝购物车全选状态示例
Jun 26 Javascript
JS去除数组重复值的五种不同方法
Sep 06 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
js确认框confirm()用法实例详解
Jan 07 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
Jan 26 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
Node.js console控制台简单用法分析
Jan 04 Javascript
微信小程序 slot踩坑的解决
Apr 01 Javascript
uni-app实现获取验证码倒计时功能
Nov 01 Javascript
关于Vue中$refs的探索浅析
Nov 05 Javascript
SpringMVC返回json数据的三种方式
Dec 10 #Javascript
js操作数组函数实例小结
Dec 10 #Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 #Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 #Javascript
javascript图片预加载完整实例
Dec 10 #Javascript
JavaScript动态插入CSS的方法
Dec 10 #Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 #Javascript
You might like
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
DIV菜单层实现代码
2010/11/19 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
Three.js利用性能插件stats实现性能监听的方法
2017/09/25 Javascript
javascript回调函数详解
2018/02/06 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
使用python为mysql实现restful接口
2018/01/05 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
超市实习总结自我鉴定
2013/09/19 职场文书
人事助理岗位职责
2013/11/18 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
发票退票证明
2015/06/24 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书