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中instanceof运算符的用法总结
Nov 19 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
JavaScript表单通过正则表达式验证电话号码
Mar 14 Javascript
JavaScript设计模式之工厂方法模式介绍
Dec 28 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
js实现文字跑马灯效果
Feb 23 Javascript
微信小程序 chooseImage选择图片或者拍照
Apr 07 Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
Sep 06 Javascript
Layer+Echarts构建弹出层折线图的方法
Sep 25 Javascript
vue3修改link标签默认icon无效问题详解
Oct 09 Javascript
Layui 解决表格异步调用后台分页的问题
Oct 26 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 session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
jQuery timers计时器简单应用说明
2010/10/28 Javascript
js中的string.format函数代码
2020/08/11 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python中操作MySQL入门实例
2015/02/08 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
2018/03/29 Python
python生成ppt的方法
2018/06/07 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
Python sys模块常用方法解析
2020/02/20 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
迷你西餐厅创业计划书范文
2013/12/31 职场文书
医务人员自我评价
2014/01/26 职场文书
企业公益活动策划方案
2014/08/24 职场文书
贪污检举信范文
2015/03/02 职场文书
青年志愿者活动感想
2015/08/07 职场文书