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 相关文章推荐
Prototype使用指南之base.js
Jan 10 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
PHP abstract与interface之间的区别
Nov 11 Javascript
在JavaScript中操作时间之setYear()方法的使用
Jun 12 Javascript
基于insertBefore制作简单的循环插空效果
Sep 21 Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
Aug 18 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
基于vue开发的在线付费课程应用过程
Jan 25 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 Javascript
vue实现户籍管理系统
May 29 Javascript
JavaScript Html实现移动端红包雨功能页面
Jan 10 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实现设计模式中的单例模式详解
2014/10/11 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
总结对比php中的多种序列化
2016/08/28 PHP
php中yii框架实例用法
2020/12/22 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
2010/03/15 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
JQuery伸缩导航练习示例
2013/11/13 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
jQuery - AJAX load() 实例用法详解
2019/08/27 jQuery
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
Python BS4库的安装与使用详解
2018/08/08 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
python 瀑布线指标编写实例
2020/06/03 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
学生不参加考试检讨书
2015/02/19 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
GPU服务器的多用户配置方法
2022/07/07 Servers