spring MVC 如何接收前台传入的JSON对象数组
spring MVC 如何接收前台传入的JSON对象数组
主要方法:
(主要用到的包是 net.sf.json 即:json-lib-2.3-jdk15.jar
完整相关jar包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
json-lib-2.2.2-jdk15.jar)
转换JSONArray json数组为实体类的List:
//T是随便定义的泛型,你根据自己需要自己定义类型
//doList是json类型字符串
public List<T> doList(String doList){
JSONArray jsonArray=JSONArray.fromObject(doList);
List<T> list=(List)JSONArray.toCollection(jsonArray,T.class);
return list;
}
迭代json数组:
Iterator<Object> it = jsonArray.iterator();
while (it.hasNext()) {
JSONObject ob = (JSONObject) it.next();
}
------
------
具体代码:
js代码:
function submitUserList() {
alert("ok");
var customerArray = new Array();
customerArray.push({id: "1", name: "李四", pwd: "123"});
customerArray.push({id: "2", name: "张三", pwd: "332"}); $.ajax({
url: "/user/submitUserList_3",
type: "POST",
dataType:"json",
data: {
//"doList":JSON.stringify(customerArray), //将Json对象序列化成Json字符串,JSON.stringify()原生态方法
"doList":$.toJSON(customerArray)
}, //将Json对象序列化成Json字符串,toJSON()需要引用jquery.json.min.js
success: function(data){
},
error: function(res){
alert(res.responseText);
}
});
}
java代码:
方法一:
///若接收的参数可以被封装到javabean对象中则可以如下写:
public List < User> doList(String doList) {
//先把字符串转成JSONArray
JSONArray jsonArray = JSONArray.fromObject(doList);
//再把jsonArray转成对象集合
List < User > list = (List) JSONArray.toCollection(jsonArray, User.class);
return list;
}
--------
方法二:
///若接收的参数不方便被封装到java对象中,则可以用下面方式获取
public List < User> doList(String doList) {
//先把字符串转成JSONArray
JSONArray jsonArray = JSONArray.fromObject(doList);
//迭代jsonArray
Iterator<Object> it = jsonArray.iterator();
List<User> list=new ArrayList<User>();
while (it.hasNext()) {
JSONObject ob = (JSONObject) it.next();//取到每个JSONObject对象
User user = null;
if(ob.getString("id")!=null){//调用JSONObject的getString("属性")方法获取对应值
user=new User();
user.setId(ob.getString("id"));
}
if(ob.getString("name")!=null){
user.setName(ob.getString("name"));
}
if(user!=null){
list.add(user);
}
}
return list;
}
spring MVC 如何接收前台传入的JSON对象数组的更多相关文章
- spring MVC 如何接收前台传入的JSON对象数组并处理
spring MVC 如何接收前台传入的JSON对象数组 主要方法: (主要用到的包是 net.sf.json 即:json-lib-2.3-jdk15.jar 完整相关jar包: commons- ...
- Spring MVC同时接收一个对象与List集合对象
原:https://blog.csdn.net/u011781521/article/details/77586688/ Spring MVC同时接收一个对象与List集合对象 2017年08月25日 ...
- 后台接收前台传入的json 数据
引入JSONArray的类型为org.json而不是net.sf.json,笔者开始引入的是net.sf.json.JSONArray, 但JSONObject.fromObject(obj)时报错报 ...
- Spring MVC Controller与jquery ajax请求处理json
在用 spring mvc 写应用的时候发现jquery传递的[json数组对象]参数后台接收不到,多订单的处理,ajax请求: "}]}]} $.ajax({ url : url, typ ...
- Spring MVC在接收复杂集合参数
Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是applica ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装
阅读目录 1. 通过HttpServletRequest获得请求参数和数据 2. 处理方法形参名==请求参数名 3. 如果形参名跟请求参数名不一样怎么办呢?用@RequestParam注解 4. 用实 ...
- 0056 Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装
浏览器总会向服务器传递一些参数,那么Spring MVC如何接收这些参数? 先写个简单的html,向服务器传递一些书籍信息,如下: <!DOCTYPE html> <html> ...
- 解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容
解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容 解决方案 在 Web.xml文件中 加入以下代码 <!--解决ajax Put与Del请求无法接收到传输的内容-- ...
随机推荐
- 手动编写的几个简单的puppet管理配置
puppet在自动化配置管理方面有很强大的优势,这里就不做过多介绍了,下面记录下几个简单的puppet管理配置: 一.首先在服务端和客户端安装puppet和facter 1)服务端 安装Puppet ...
- Fedora 19安装mysql
安装数据库模块 Mysql和Mysql-server#yum install mysql mysql-server 开启mysql服务#systemctl start mysqld.service同样 ...
- WCF的练习。
最近稍微又学习了下WCF,并做了一些联系.觉得很有收获,把东西都上传到git上了.然后在这里做一个链接导航. 无废话WCF入门教程一[什么是WCF] 无废话WCF入门教程二[WCF应用的通信过程] 无 ...
- WinForm多线程+委托防止界面假死
当有大量数据需要计算.显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决 using System; using System.Collections.Generic ...
- 毕业设计 之 五 PHP语法学习笔记
毕业设计 之 四 PHP语法学习笔记 作者:20135216 平台:windows10 软件:XAMPP,DreamWeaver 说明:该笔记是对网站编程语言的详细学习 一.PHP基础 0. 关于环境 ...
- Linux内核分析——期中总结
期中总结 一.MOOC课程 (一)计算机是如何工作的 1.冯诺依曼体系结构的核心思想是存储程序计算机. 2.CPU在实际取指令时根据cs:eip来准确定位一个指令. 3.寄存器模式,以%开头的寄存器标 ...
- 第二个spring,第五天
陈志棚:成绩的统筹 李天麟:界面音乐 徐侃:代码算法 完成进度百分之70...会继续努力的!
- PAT 1026 程序运行时间
https://pintia.cn/problem-sets/994805260223102976/problems/994805295203598336 要获得一个C语言程序的运行时间,常用的方法是 ...
- CentOS查看版本及架构信息
https://blog.csdn.net/shuaigexiaobo/article/details/78030008
- CentOS 关闭烦人的屏保
1. VNC连接到服务器 2.打开 system tools - settings 在power处 将 Power Saving 设置改一下