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 相关文章推荐
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
js中的屏蔽的使用示例
Jul 30 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
jquery提交form表单时禁止重复提交的方法
Feb 13 Javascript
jQuery遍历Table应用示例
Apr 09 Javascript
推荐10个2014年最佳的jQuery视频插件
Nov 12 Javascript
第五章之BootStrap 栅格系统
Apr 25 Javascript
js实现可控制左右方向的无缝滚动效果
May 29 Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 Javascript
微信小程序按钮去除边框线分享页面功能
Aug 27 Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 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 Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
layui的面包屑或者表单不显示的解决方法
2019/09/05 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
python内存管理分析
2015/04/08 Python
使用python加密自己的密码
2015/08/04 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
数据库面试要点基本概念
2013/10/31 面试题
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
国富论读书笔记
2015/06/26 职场文书
一起来学习Python的元组和列表
2022/03/13 Python