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 相关文章推荐
WordPress 照片lightbox效果的运用几点
Jun 22 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
jquery实现checkbox全选全不选的简单实例
Dec 31 Javascript
js实现div弹出层的方法
Nov 20 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
Sep 01 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
基于JavaScript实现数码时钟效果
Mar 30 Javascript
详解EasyUi控件中的Datagrid
Aug 23 Javascript
jQuery中each方法的使用详解
Mar 18 jQuery
微信小程序实现刷脸登录
May 25 Javascript
vue车牌号校验和银行校验实战
Jan 23 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
PHP新手上路(十)
2006/10/09 PHP
提高PHP编程效率的方法
2013/11/07 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
PHP编写简单的App接口
2016/08/28 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
(function($){...})(jQuery)的意思
2010/07/22 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
python3访问sina首页中文的处理方法
2014/02/24 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
Python按钮的响应事件详解
2019/03/04 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
Django之PopUp的具体实现方法
2019/08/31 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
行政部岗位职责范本
2014/03/13 职场文书
领导工作表现评语
2015/01/04 职场文书
学习雷锋主题班会
2015/08/14 职场文书
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers