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 相关文章推荐
c#和Javascript操作同一json对象的实现代码
Jan 17 Javascript
js获取上传文件大小示例代码
Apr 10 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
JS实现星星评分功能实例代码(两种方法)
Jun 09 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
Oct 01 Javascript
原生js实现回复评论功能
Jan 18 Javascript
select下拉框插件jquery.editable-select详解
Jan 22 Javascript
漂亮实用的页面loading(加载)封装代码
Feb 03 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
Dec 07 Javascript
深入理解Vue router的部分高级用法
Aug 15 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
Nov 14 Javascript
构建大型 Vue.js 项目的10条建议(小结)
Nov 14 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
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
php ci框架验证码实例分析
2013/06/26 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
React复制到剪贴板的示例代码
2017/08/22 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
晚会主持词开场白
2014/03/17 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
邀请函格式范文
2015/02/02 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers
redis protocol通信协议及使用详解
2022/07/15 Redis
GO中sync包自由控制并发示例详解
2022/08/05 Golang