以JSON形式将JS中Array对象数组传至后台的方法

 更新时间:2014年01月06日 16:37:58   投稿:whsnow  
业务是需要将前台jQuery easyUI DataGrid列表中所选的若干行的数据传到后台进行update操作,具体的实现如下,感兴趣的朋友可以参考下

业务是需要将前台jQuery easyUI DataGrid列表中所选的若干行的数据传到后台进行update操作
 

通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update

但今次我们需要将整个对象群完整的传输至后台

其结构如下
 

选用谷歌的GSON插件及json2.js搭配使用

前台代码如下,简洁起见已去除部分简单验证代码:

复制代码 代码如下:

var rows = $('#dg1').datagrid('getSelections');
$.ajax({
cache : false,
type : "POST",
url : _basePath + '/sectionGroup/pair',
data : {rows : JSON.stringify(rows), group_id : group_id, group_name : group_name},
success : function(data) {
if(data.success == true){
$.messager.confirm('配置成功','是否刷新列表?', function(r){
if (r){
$('#dg').datagrid('reload');
$('#dg1').datagrid('reload');
$('#dg2').datagrid('reload');
}
});
}else{
$.messager.show({
title:'提示',msg:'配置失败',
showType:'fade',style:{right:'',bottom:''}
});
}
}
});

此页面中需要引入json2.js

后台Controller中接收如下:
复制代码 代码如下:

@RequestMapping(value = "/pair")
@ResponseBody
public ResponseData pair(String rows, String group_name, String group_id, HttpServletRequest request) {
User user = (User) SecurityContextUtil.getCurrentUser();
if (user == null) {
user = (User) request.getSession().getAttribute(Constants.USER_OS);
}
Gson gson = new Gson();
List<SectionGroup> list = gson.fromJson(rows, new TypeToken<List<SectionGroup>>() {}.getType());
for (SectionGroup sectionGroup : list) {
sectionGroup.setRegion(user.getRegion_id());
sectionGroup.setCompany_id(user.getOrg_id());
sectionGroup.setGroup_id(group_id);
sectionGroup.setGroup_name(group_name);
service.insertEntity(sectionGroup);
}
return ResponseData.SUCCESS_NO_DATA;
}

其中GSON及TypeToken为GSON包中引入类

入参rows应为String型

经过Gson转换后List依旧为普通接口,内部装载前台完整的Object对象

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:

http://tools.jb51.net/code/json_yasuo_trans

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

相关文章

  • JavaScript自定义超时API代码实例

    JavaScript自定义超时API代码实例

    这篇文章主要介绍了JavaScript自定义超时API代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 使用JavaScript实现简单图像放大镜效果

    使用JavaScript实现简单图像放大镜效果

    图像放大镜在很多网站中都扮演着重要的角色,大多数开发人员使用 jquery 来创建图像放大镜。在本教程中,我将向大家展示如何使用 HTML、CSS 和 JavaScript 制作一个简单的图像放大镜,需要的可以参考一下
    2022-08-08
  • ES6中Set与WeakSet集合的深入讲解

    ES6中Set与WeakSet集合的深入讲解

    这篇文章主要给大家介绍了关于ES6中Set与WeakSet集合的相关资料,Set是ES6给开发者带来的一种新的数据结构,你可以理解为值的集合,WeakSet结构同样不会存储重复的值,但它的成员必须是对象类型的值,需要的朋友可以参考下
    2021-07-07
  • 在javascript中,如果删除二维数组中重复的元素

    在javascript中,如果删除二维数组中重复的元素

    在javascript中,如果删除二维数组中重复的元素...
    2007-05-05
  • javascript 关于赋值、浅拷贝、深拷贝的个人理解

    javascript 关于赋值、浅拷贝、深拷贝的个人理解

    关于赋值、浅拷贝、深拷贝,以前也思考良久,很多时候都以为记住了,但是,我太难了。今天我特地写下笔记,希望可以完全掌握这个东西,也希望可以帮助到任何想对学习这个东西的同学
    2019-11-11
  • JS字符串与二进制的相互转化实例代码详解

    JS字符串与二进制的相互转化实例代码详解

    这篇文章主要介绍了JS字符串与二进制的相互转化 ,在文中给大家提到了Js之字符串和字节码之间的相互转换,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 使用 JavaScript 创建可维护的幻灯片效果代码

    使用 JavaScript 创建可维护的幻灯片效果代码

    显然,效果很实用。对于这个效果,我们并不解释如何去使用效果库,而是讲解如何创建类似的效果,并保持他的可用性,分离式(unobtrusive),可维护性(让未来的维护者,在不需要修改你的脚本的情况下,修改图片,外观或文本标签)。
    2008-06-06
  • 在页面加载之后执行JavaScript

    在页面加载之后执行JavaScript

    这篇文章主要介绍了在页面加载之后执行JavaScript的详细过程,本文通过实例代码文字解说给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 判断一个变量是数组Array类型的方法

    判断一个变量是数组Array类型的方法

    JavaScript中如何判断一个变量是数组Array类型呢?本文向大家提供一个比较不错的方法,可以说是无懈可击了
    2013-09-09
  • 静态页面下用javascript操作ACCESS数据库(读增改删)的代码

    静态页面下用javascript操作ACCESS数据库(读增改删)的代码

    [红色]静态页面下用javascript操作ACCESS数据库(读增改删)的代码...
    2007-05-05

最新评论