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实现盒子下拉效果示例代码
Sep 12 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
Apr 03 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
May 12 Javascript
Javascript面试经典套路reduce函数查重
Mar 23 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
Apr 01 jQuery
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
浅谈React Event实现原理
Sep 20 Javascript
node.js的http.createServer过程深入解析
Jun 06 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
Jun 27 Javascript
vant IndexBar实现的城市列表的示例代码
Nov 20 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
Feb 02 Javascript
javascript实现拖拽碰撞检测
Mar 12 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
ThinkPHP采用模块和操作分析
2011/04/18 PHP
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
微信小程序 label 组件详解及简单实例
2017/01/10 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
python连接池实现示例程序
2013/11/26 Python
Python中的XML库4Suite Server的介绍
2015/04/14 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
python的中异常处理机制
2018/08/30 Python
Python对excel文档的操作方法详解
2018/12/10 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
全面了解django的缓存机制及使用方法
2019/07/22 Python
详解python中eval函数的作用
2019/10/22 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
办公室文书岗位职责
2013/12/16 职场文书
物流管理专业推荐信
2014/09/06 职场文书