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 相关文章推荐
javascript globalStorage类代码
Jun 04 Javascript
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
Javascript中找到子元素在父元素内相对位置的代码
Jul 21 Javascript
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
javascript数组输出的两种方式
Jan 13 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
Jan 21 Javascript
JavaScript几种数组去掉重复值的方法推荐
Apr 12 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
Apr 07 Javascript
vue cli使用融云实现聊天功能的实例代码
Apr 19 Javascript
小程序实现左滑删除效果
Jul 25 Javascript
webpack 动态批量加载文件的实现方法
Mar 19 Javascript
Node.js web 应用如何封装到Docker容器中
Sep 01 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 intval的测试代码发现问题
2008/07/27 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php内嵌函数用法实例
2015/03/20 PHP
jquery简单体验
2007/01/10 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
2016/06/24 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
vue-router单页面路由
2017/06/17 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
Python写的一个简单DNS服务器实例
2014/06/04 Python
python如何通过protobuf实现rpc
2016/03/06 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Django入门使用示例
2017/12/12 Python
python logging 日志的级别调整方式
2020/02/21 Python
django 取消csrf限制的实例
2020/03/13 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
瑜伽国际:Yoga International
2018/04/18 全球购物
小学防溺水制度
2014/01/29 职场文书
员工入职担保书范文
2014/04/01 职场文书
政府四风问题整改措施
2014/10/04 职场文书
MySQL COUNT函数的使用与优化
2021/05/10 MySQL