@RequestBody接收ajax的json字符串
在使用ajax进行请求,并传递参数时,偶尔需要把数组作为传递参数,这是就要使用@RequestBody来解决这个问题
在页面端的处理:
(1)利用JSON.stringify(arr)需要把json对象数组转变成一个json对象字符串
(2)在ajax的参数中设置"contentType": "application/json"
$(function(){
$("#exe").on("click",function(){
var arr = new Array();
arr.push({"name":"lcs","age":18});
arr.push({"name":"yds","age":19});
arr.push({"name":"hrl","age":20});
arr.push({"name":"lyf","age":21});
var arrs = JSON.stringify(arr);
$.ajax({
"url": "ajax_array.do",
"type": "post",
"data": arrs,
"contentType": "application/json",
"dataType": "json",
"success": function(result){
alert("请求成功!");
},
"error": function(){
alert("请求失败!");
}
});
});
});
在后端的处理:
(1)利用RequestBody来接收JSON对象字符串,persons中是json对象数组进JSON.stringify(arr)转换的JSON对象字符串(数组的json对象字符串)
(2)导入json-lib,利用其JSONArray和JSONObject的方法来解析获取JSON对象字符串中的数据
(3)JSONArray.fromObject(persons)是把JSON对象字符串转换成JSON对象。
@ResponseBody
@RequestMapping("/ajax_array.do")
//@RequestBody接收ajax请求的json字符串参数
public String getPersons(@RequestBody Person[] persons){
//将persons JSON字符串转换成JSON对象
//JSONArray对象,有点像list对象
JSONArray arrs = JSONArray.fromObject(persons);
List<Person> personList = new ArrayList<Person>();
//遍历JSONArray
for(int i=0; i<arrs.size(); i++){
Person person = new Person();
//getJSONObject(i)是一个json对象
String name = arrs.getJSONObject(i).getString("name");
int age = arrs.getJSONObject(i).getInt("age");
person.setName(name);
person.setAge(age);
personList.add(person);
}
System.out.println(personList);
return "success";
}
@RequestBody接收ajax的json字符串的更多相关文章
- 使用原生ajax处理json字符串
我们使用得还是wamp,如果不知道环境怎么搭建,请在我的日志里面找,此处不在累赘. 什么是json?JSON的全称是 Javascript Object Notation(javascript对象表示 ...
- IT兄弟连 JavaWeb教程 AJAX以及JSON字符串经典案例
案例需求:客户端发送AJAX请求服务器端获取用户信息的数据. 案例实现: 在服务器端要将Java对象转换成JSON字符串,如果使用拼接JSON字符串的方式非常繁琐,并且非常容易出错,所以一般会借助第三 ...
- Ajax 传递json字符串到客户端时报 Internal server error
架构:struts2+JQuery 需求:就是前台请求后台,后台查询数据库,将数据转换成json格式,使用struts2框架赋值给action内的变量jsonStr,前台通过 response.jso ...
- 【JSON】Ajax获得JSON字符串的处理方法
一. success : function(data){ var caseInfoView = eval('('+data.caseInfoView+')'); for(var key in case ...
- 大话Json对象和Json字符串
一.Json对象和Json字符串的区别 (1)Json对象:可以通过javascript存取属性. 先介绍一下json对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的.例如: var ...
- spring mvc各种常见类型参数绑定方式以及json字符串绑定对象
在使用spring mvc作为框架的时候,为了规范,我们通常希望客户端的请求参数符合规范直接通过DTO的方式从客户端提交到服务端,以便保持规范的一致性,除了很简单的情况使用RequestParam映射 ...
- Json字符串和Json对象的简单总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...
- SpringMVC @RequestBody接收Json对象字符串
其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify(data)的方式就能将对象 ...
- SpringMVC @RequestBody接收Json对象字符串 demo
springmvc 的这个 @RequestBody 用得比较少,今天看了一下,还是很方便. @RequestBody 接收类似 [{name: "test"}, {name: & ...
随机推荐
- Python-5 数据类型、操作符
#1 数值类型: 整型int.浮点型float(科学记数法 e 或 E).布尔型bool #2 字符串: 与整型.浮点型转化:int()--截断处理 float() str() #3 获取数据类型: ...
- Unity3d程序运行的时候在unity3d标志哪里进不去的原因
我那个去,居然是有两个error..我郁闷了,unity编译器有error居然也能打包能apk.我真是醉了.搞了我几个小时.
- MsSql数据库存储过程加密解密
-------------------------------------------------------------------------------- ------------------- ...
- ActivityGroup、TabHost之子页面不刷新——getLocalActivityManager() 以及intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)用法
TabHost继承自ActivityGroup,以下不再单独列出. ActivityGroup在第一次创建的时候会完整的执行子Activity或子view的生命周期,但在从其他子activity或子v ...
- leetcode-【中等题】228. Summary Ranges
题目: 228. Summary Ranges Given a sorted integer array without duplicates, return the summary of its r ...
- 并发读写缓存实现机制(一):为什么ConcurrentHashMap可以这么快?
大家都知道ConcurrentHashMap的并发读写速度很快,但为什么它会这么快?这主要归功于其内部数据结构和独特的hash运算以及分离锁的机制.做游戏性能很重要,为了提高数据的读写速度,方法之一就 ...
- Leetcode5:Longest Palindromic Substring@Python
Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...
- TUniConnection连接
ChangeFileExt RealTime_Server.ini: [Config]FromConStr=DBTYPE=0|SERVER=127.0.0.1|PORT=7788|DBNAME=jzx ...
- vs2013单元测试练习过程
1.打开VS2013 --> 新建一个项目.这里我们默认创建一个控制台项目.取名为UnitTestDemo 2.在解决方案里面新增一个单元测试项目.取名为UnitTestDemoTest 创建完 ...
- 回车与换行 ---编码等相关讨论----由notepad++ 批量替换 引发的讨论,转义字符也是人为硬性规定的。
,