JSON对象和字符串的收发(JS客户端用typeof()进行判断非常重要)
Ajax前台向后台传递对象:
数据准备
将js对象或者json对象转换为json字符串在Ajax传递,在后台中再将json字符串转换为json对象,再转换为java对象或在前端和后端构造一样的数据结构,直接用application/json内容体发送。
1 var student={
2 name:"abc",
3 age:12,
4 no:"123"
5 };
6
7 console.log(student);
8 //将js对象转换为json字符串通过ajax传递,在后台中再将json字符串转换为json对象再转换为java对象
9
10 student = JSON.stringify(student);
Ajax:前端发送
1 $.ajax({
2 url : url,
3 type : "POST",
4 data : {
5 sendData:"传递下面的json字符串",
6 jsonStr: student
7 },
8 async : isAsync,
9 dataType:data_type,
10 beforeSend : beforeSendFun,
11 success : function(return_data) {
12 successFun(return_data);
13 },
14 error : function(XMLHttpRequest, textStatus, errorThrown) {
15 alert("请求处理失败");
16 }
17 });
后台解析:
String sendData = request.getParameter("sendData"); if (sendData.equals("传递下面json字符串")){ String jsonStr = request.getParameter("jsonStr"); JSONObject student_json= new JSONObject().fromObject(jsonStr);//将json字符串转换为json对象
Student student = (Student)JSONObject.toBean(student_json,Student.class);//再将json对象转换为Student对象 }
(1)发端是对象var abc = new { name = "菜鸟教程", site = "http://www.runoob.com" };JSON(abc)
console.log(ds);
console.log(typeof (ds));object
console.log(ds.name);菜鸟教程
Objectname: "菜鸟教程"site: "http://www.runoob.com"__proto__: Object
ThemeList.js:24 {"name":"菜鸟教程","site":"http://www.runoob.com"}
ThemeList.js:27 "{\"name\":\"菜鸟教程\",\"site\":\"http://www.runoob.com\"}"
ThemeList.js:28 "\"{\\\"name\\\":\\\"菜鸟教程\\\",\\\"site\\\":\\\"http://www.runoob.com\\\"}\""
(2)发端是字符串 string abc= "{\"name\":\"菜鸟教程\",\"site\":\"http://www.runoob.com\"}";JSON(abc)
var mm=JSON.parse("\"{\\\"name\\\":\\\"菜鸟教程\\\",\\\"site\\\":\\\"http://www.runoob.com\\\"}\"")
console.log(typeof (mm));string
var ll = JSON.parse(mm);object
console.log(ll.name);菜鸟教程
最新文章
- iOS UITabBarController的使用
- Tools - 国内开源镜像网站
- AngularJS 开发中常犯的10个错误
- CF 9D. How many trees?(dp)
- javascript complete, onload
- 【转载】在 Visual Studio 2012 中创建 ASP.Net Web Service
- 【不积跬步,无以致千里】DELETE SINGLE IPTABLES RULES
- Openstack部署工具
- WPF实现界面动态布局
- 7.21.01 if语句
- servlet中的字符编码过滤器的使用
- Java打印常见图形
- python学习之路01
- java中如何在代码中判断时间是否过了10秒
- ASP.NET Core 使用 Google 验证码(Google reCAPTCHA)
- RMQ问题 [luogu 3865]
- Loadrunner登录判断
- Netsharp配置文件
- a mechanism for code reuse in single inheritance languages
- MM bound 与 Jensen's inequality
热门文章
- WEB - Autoescaping, escaping, escape(转义)
- SmartAssembly批处理用法
- 运行时Runtime的API
- SQLServer亿万级数据优化
- Codeforces Round #600 (Div. 2) - B. Silly Mistake(模拟)
- 安装PHP解析环境!
- [ DLPytorch ] 注意力机制&;机器翻译
- 同一台服务器lnmpa环境下配置ip或域名访问不同站点
- pagehelper 分页不生效,总页数总是1解决方案
- [Write-up]-Trollcave: 1.2