解析JSON对象与字符串之间的相互转换


Posted in Javascript onDecember 18, 2013

在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台

接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递。

例如:前台按类的格式传递JSON对象:

var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\":\"" + interest + "\",\"TSex\":\"" + sex + "\",\"TCity\":\"" + city + "\",\"TDetail\":\"" + detail + "\"}";

如拼出的jsonUserInfo 无转义符号,需要var jsonArrayFinal = JSON.stringify(jsonArray);进行转换后再传递。

$.ajax(
                    {
                        type: "post",
                        url: "ReceiveHandler1.ashx",
                        data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },
                        dataType: "text",
                        success: function(data) {
                            $("#divShow").html(data);
                        }
 });

如果前台传递多个类格式的JSON数组,也就是集合类型:

例如:

[{"name":"a"},{"name","b"},{"name","c"}],则无法传递,此时必须使用JSON.stringify将数组对象转换成字符串,再进行AJAX传递即可。

比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

var a={"name":"tom","sex":"男","age":"24"};
var b='{"name":"Mike","sex":"女","age":"29"}';

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。

JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式;

上面的转换可以这么写:
var a={"name":"tom","sex":"男","age":"24"};
var b='{"name":"Mike","sex":"女","age":"29"}';
var aToStr=JSON.stringify(a);
var bToObj=JSON.parse(b);
alert(typeof(aToStr));  //string
alert(typeof(bToObj));//object

JSON.stringify()

ie8(兼容模式),ie7和ie6没有JSON对象,不过http://www.json.org/js.html提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;你可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,

var c='{"name":"Mike","sex":"女","age":"29"}';
var cToObj=eval("("+c+")");
alert(typeof(cToObj));

jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象。当然如果有兴趣可以自己封装一个jQuery扩展,jQuery.stringifyJSON(obj)将JSON转为字符串。

Javascript 相关文章推荐
(仅IE下有效)关于checkbox 三态
May 12 Javascript
纯JS实现的批量图片预览加载功能
Aug 14 Javascript
关于div自适应高度/左右高度自适应一致的js代码
Mar 22 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
Dec 27 Javascript
jquery easyui中treegrid用法的简单实例
Feb 18 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
Dec 15 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
Aug 01 Javascript
laydate 显示结束时间不小于开始时间的实例
Aug 11 Javascript
元素全屏的设置与监听实例
Nov 28 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
May 26 Javascript
cookie中的path与domain属性详解
Dec 18 #Javascript
浅析Cookie中的Path与domain
Dec 18 #Javascript
jquery.cookie用法详细解析
Dec 18 #Javascript
Event altKey,ctrlKey,shiftKey属性解析
Dec 18 #Javascript
extjs4 treepanel动态改变行高度示例
Dec 17 #Javascript
Javascript浅谈之this
Dec 17 #Javascript
将list转换为json失败的原因
Dec 17 #Javascript
You might like
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
php实现的RSS生成类实例
2015/04/23 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
php中yii框架实例用法
2020/12/22 PHP
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
vue.js语法及常用指令
2017/10/29 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python读文件逐行处理的示例代码分享
2013/12/27 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python随机数分布random均匀分布实例
2019/11/27 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
基于python代码批量处理图片resize
2020/06/04 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
计算机应用专业推荐信
2013/11/13 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
自荐信格式模板
2015/03/27 职场文书
《开国大典》教学反思
2016/02/16 职场文书
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers