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 相关文章推荐
jQuery EasyUI API 中文文档 - Form表单
Oct 06 Javascript
jquery 选择器引擎sizzle浅析
Feb 06 Javascript
浅析Cookie中的Path与domain
Dec 18 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 Javascript
jQuery弹出遮罩层效果完整示例
Sep 13 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
javascript函数的四种调用模式
Jan 08 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
Sep 18 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
koa socket即时通讯的示例代码
Sep 07 Javascript
24行JavaScript代码实现Redux的方法实例
Nov 17 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
Python break语句详解
2014/03/11 Python
python使用requests.session模拟登录
2019/08/09 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
基于python求两个列表的并集.交集.差集
2020/02/10 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
python进度条显示之tqmd模块
2020/08/22 Python
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
环境科学专业求职信
2014/08/04 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
小学作文之描写天气
2019/08/15 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
如何利用React实现图片识别App
2022/02/18 Javascript