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 表单规则集合对象
Jul 21 Javascript
JavaScript面向对象之静态与非静态类
Feb 03 Javascript
JS删除数组元素的函数介绍
Mar 27 Javascript
JavaScript实现的一个倒计时的类
Mar 12 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
PassWord输入框代码分享
Jun 07 Javascript
JS中递归函数
Jun 17 Javascript
canvas时钟效果
Feb 16 Javascript
layui弹出层按钮提交iframe表单的方法
Aug 20 Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 Javascript
node 标准输入流和输出流代码实例
Sep 19 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
微信公众平台开发之天气预报功能
2015/08/31 PHP
php中array_slice和array_splice函数解析
2016/10/18 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
2018/07/12 jQuery
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
Python实现图像几何变换
2015/07/06 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
La Redoute英国官网:法国时尚品牌
2017/04/27 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
sort命令的作用和用法
2012/11/04 面试题
大一自我鉴定范文
2013/12/27 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
语文课外活动总结
2014/08/27 职场文书
学习张林森心得体会
2014/09/10 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
校车安全管理责任书
2015/05/11 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
培训感想范文
2015/08/07 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python
python 标准库原理与用法详解之os.path篇
2021/10/24 Python