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 相关文章推荐
JS数学函数Exp使用说明
Aug 09 Javascript
打印json对象的内容及JSON.stringify函数应用
Mar 29 Javascript
node.js中的emitter.on方法使用说明
Dec 10 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
Mar 03 Javascript
jquery append与appendTo方法比较
May 24 jQuery
Ajax高级笔记 JavaScript高级程序设计笔记
Jun 22 Javascript
JS中注入eval, Function等系统函数截获动态代码
Apr 03 Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
Vue v-text指令简单使用方法示例
Sep 19 Javascript
JS工厂模式开发实践案例分析
Oct 17 Javascript
javascript函数式编程基础
Sep 15 Javascript
vue打包时去掉所有的console.log
Apr 10 Vue.js
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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
php中的动态调用实例分析
2015/01/07 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
禁止js文件缓存的代码
2010/04/09 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Django返回json数据用法示例
2016/09/18 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
物流专业求职计划书
2014/01/10 职场文书
交通安全教育制度
2014/02/02 职场文书
仲裁协议书
2014/09/26 职场文书
离婚起诉书范本
2015/05/18 职场文书
售房协议书范本
2015/08/11 职场文书
深入理解python多线程编程
2021/04/18 Python
Python关于OS文件目录处理的实例分享
2021/05/23 Python
php访问对象中的成员的实例方法
2021/11/17 PHP