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 选择器 xpath 语法应用
May 13 Javascript
document.getElementById方法在Firefox与IE中的区别
May 18 Javascript
JS异常处理的一个想法(sofish)
Mar 14 Javascript
jQuery判断元素是否存在的可靠方法
May 06 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
JavaScript处理解析JSON数据过程详解
Sep 11 Javascript
node.js中 stream使用教程
Aug 28 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 Javascript
WebSocket的通信过程与实现方法详解
Apr 29 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
vue-cli3使用mock数据的方法分析
Mar 16 Javascript
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 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 GD绘制24小时柱状图
2008/06/28 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
use jscript List Installed Software
2007/06/11 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
微信小程序中限制激励式视频广告位显示次数(实现思路)
2019/12/06 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
python3实现爬取淘宝美食代码分享
2018/09/23 Python
详解python中list的使用
2019/03/15 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
pytorch打印网络结构的实例
2019/08/19 Python
tensorflow 查看梯度方式
2020/02/04 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
说明书格式及范文
2014/05/07 职场文书
爱国口号
2014/06/19 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
学生保证书
2015/01/16 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
小学六一主持词开场白
2015/05/28 职场文书
整脏治乱工作简报
2015/07/21 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers