谈谈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 相关文章推荐
最佳的addEvent事件绑定是怎样诞生的
Oct 24 Javascript
js函数参数设置默认值的一种变通实现方法
May 26 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
Feb 22 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
Jul 19 Javascript
Vue网页html转换PDF(最低兼容ie10)的思路详解
Aug 24 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
koa源码中promise的解读
Nov 13 Javascript
Vue路由之JWT身份认证的实现方法
Aug 26 Javascript
vue实现自定义多选按钮
Jul 16 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
通过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
php模板之Phpbean的目录结构
2008/01/10 PHP
一个PHP的String类代码
2010/04/20 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php读取mysql的简单实例
2014/01/15 PHP
Yii使用技巧大汇总
2015/12/29 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
使用js实现单链解决前端队列问题的方法
2020/02/03 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
numpy.where() 用法详解
2019/05/27 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
北承题目(C++)
2012/05/16 面试题
上班睡觉检讨书
2014/01/09 职场文书
心理学专业求职信
2014/06/16 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
市场部岗位职责范本
2015/04/15 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js