谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)


Posted in Javascript onOctober 01, 2015

在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 aToStr = JSON.stringify(a);
alert(aToStr); //结果:{"name":"tom","sex":"男","age":"24"}

  结果:string

var b='{"name":"tom","sex":"男","age":"24"}';
var aToObj = JSON.parse(b); 
console.log(aToObj); //结果:Object {name: "tom", sex: "男", age: "24"}

结果:object

ie8(兼容模式),ie7和ie6没有JSON对象,不过http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;

现在一般用json2.js,下载地址:点击此处。

在页面中添加就能解决IE低版本没有json对象的问题。

<script type="text/javascript" src="js/json2.js"></script>

PS: JSON的parse()和stringfy()方法

1.JSON.parse;

作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)

语法:JSON.parse(text [, reviver])

text 必选。 一个有效的 JSON 字符串。

reviver 可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。

返回值:JSON对象

实例:

var jsonStr = '{"name":"leinov","sex":"famle","address":"beijing"}'
var jsonObj = JSON.parse(jsonStr);
alert(typeof jsonObj); //Object

2.JSON.stringify

作用:将 JavaScript json对象转换为JavaScript对象表示法的JSON字符串(对象转为字符串)

语法:JSON.stringify(value [, replacer] [, space]);

value 必选 通常为对象或数组

replacer 可选转换结果的函数或数组

space 可选。 添加缩进、空白和换行符来返回值 JSON 文本更便于阅读。

         如果省略 space,返回值文本生成,没有任何额外的空白。

         如果 space 是数字,则返回值具有空白的文本缩进指定数目在每个级别的。 如果 space 大于 10 时,文本缩进 10 个空白。

         如果 space 为非空字符串,如“\t”,返回值文本缩进与字符串的字符在每个级别。

         如果 space 为大于 10 个字符的字符串,使用前 10 个字符。

返回值:JSON 包含的文本字符串。

实例:

var student = new Object();
student.name = "leinov";
student.sex = "famle";
student.address = "chaoyang";
var jsonStudent = JSON.stringify(student);
alert(typeof jsonStudent); //string
Javascript 相关文章推荐
对google个性主页的拖拽效果的js的完整注释[转]
Apr 10 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
javascript Slip.js实现整屏滑动的手机网页
Nov 25 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
JavaScript学习笔记之ES6数组方法
Mar 25 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
vue操作下拉选择器获取选择的数据的id方法
Aug 24 Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
微信小程序常用的3种提示弹窗实现详解
Sep 19 Javascript
vue-router的hooks用法详解
Jun 08 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 #Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 #Javascript
JS处理json日期格式化问题
Oct 01 #Javascript
JS日期格式化之javascript Date format
Oct 01 #Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
Oct 01 #Javascript
RequireJS入门一之实现第一个例子
Sep 30 #Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 #Javascript
You might like
第三节 定义一个类 [3]
2006/10/09 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
基于PHP的简单采集数据入库程序
2014/07/30 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
利用php生成验证码
2017/02/23 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
python实现简单的单变量线性回归方法
2018/11/08 Python
对python模块中多个类的用法详解
2019/01/10 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
公司面试感谢信
2014/02/01 职场文书
相亲活动方案
2014/08/26 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
如何写好活动总结
2019/06/21 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL