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);菜鸟教程
JSON对象和字符串的收发(JS客户端用typeof()进行判断非常重要)的更多相关文章
- js中的json对象和字符串之间的转化
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSO ...
- js或者jq的string类型或者number类型的相互转换及json对象与字符串的转换
1.将值乘以1,将string类型转为number类型 //算合计价值function summoney(money) { var zijin = $("#main_xm_dam09&quo ...
- 第168天:json对象和字符串的相互转换
json对象和字符串的相互转换 1.json对象和字符串的转换 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和pa ...
- JSON对象与字符串之间的相互转换
<html> <head> <meta name="viewport" content="width=device-width" ...
- Json数组操作小记 及 JSON对象和字符串之间的相互转换
[{"productid":"1","sortindex":"2"},{"productid":&q ...
- json对象与字符串相互转换
JSON 语法 JSON 语法规则 在 JS 语言中,一切都是对象.因此,任何支持的类型都可以通过 JSON 来表示,例如字符串.数字.对象.数组等.但是对象和数组是比较特殊且常用的两种类型: 对象表 ...
- JSON对象与字符串之间的相互转换 - CSDN博客
原文:JSON对象与字符串之间的相互转换 - CSDN博客 <html> <head> <meta name="viewport" content=& ...
- json对象转字符串与json字符串转对象
1.概述: 我们在编程时进场会遇到json对象转字符串,或者字符串转对象的情况. 2.解决办法: json.parse()方法是将json字符串转成json对象. json.stringfy()方法是 ...
- json对象与字符串的相互转换,数组和字符串的转换
1.json对象转换为字符串 JSON.stringify(value [, replacer] [, space]) var student = new Object(); student.id ...
随机推荐
- 部署java的spring boot项目(代码外包提供)
部署java后台的spring boot 人脸识别系统的项目 基础环境准备: 硬件:内存4g cpu 4核 硬盘200g 虚拟机 软件:CentOS 7.6 mysql 5.7.26 jdk ...
- PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)
1.树控件的基本使用方法QTreeWidget'''QTreeWidget树控件的使用方法添加图标,添加表格,添加复选框等'''from PyQt5.QtWidgets import *from Py ...
- mybatis用mybatis-generator-core-1.3.5.jar自动生成实体类
原文出处:https://blog.csdn.net/shuoshuo_12345/article/details/80626241,本文只是个人总结而已! 方法1:在pom文件中添加依赖 只需在搭建 ...
- MYSQL---外键 primary key 作用
https://www.cnblogs.com/x739400043/p/4732158.html 外键和级联 关于外键写的不错的网址:http://blog.csdn.net/lidaasky/ ...
- ANSYS单元应用简介1
目录 1. LINK单元 2. BEAM单元 3. PLANE单元 4. SHELL单元 5. SOLIDE单元 6. COMBIN单元 ANSYS中的单元针对不同的应用对象,有着不同的选择方法,下面 ...
- 【SSM】Log4j 日志配置
1.log4j.properties ### 配置根 ### # log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROL ...
- 设计模式01 创建型模式 - 原型模式(Protype Pattern)
参考 1. 设计模式:原型模式 | 博客园 2. Java clone深拷贝.浅拷贝 | CSDN 3. Cloneable接口和Object的clone()方法 | 博客园 原型模式(Prototy ...
- C++代码如何附加到C#写的主程序中?
背景是这样:C#的exe程序,C#中调用C++的dll,也就是所谓的托管吧. C#的exe出了点问题,想在C++的dll的源码中调试,附加到进程时,加了断点,怎么也跟不进去.断点不变红啊,急死了. 最 ...
- mysql字符串相关函数(并与sql server对比)
https://blog.csdn.net/zhengxiuchen86/article/details/81220779 1.判断子串substr在字符串str中出现的位置 例子:查询']'在‘OP ...
- Chrome浏览器 HTML5看视频卡顿
定位问题 起初以为是flash的问题,但是在B站看视频,由html播放改为flash播放后,卡顿现象消失 将相同的B站视频,用edge播放,也无卡顿现象 可以确定,问题出在chrome身上 解决方法 ...