谈谈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 相关文章推荐
js Flash插入函数免激活代码
Mar 31 Javascript
重载toString实现JS HashMap分析
Mar 13 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
jquery根据name属性查找的小例子
Nov 21 Javascript
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
JavaScript获取Url里的参数
Dec 18 Javascript
js实现文件上传表单域美化特效
Nov 02 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
Dec 07 Javascript
javascript的this关键字详解
May 20 Javascript
微信小程序自定义组件components(代码详解)
Oct 21 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
php绘制圆形的方法
2015/01/24 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
微信支付扫码支付php版
2016/07/22 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
微信小程序使用Vant Weapp组件库的方法步骤
2019/08/01 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
django之session与分页(实例讲解)
2017/11/13 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
Python初学者常见错误详解
2019/07/02 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
Python如何将字符串转换为日期
2020/07/31 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
竞聘演讲稿开场白
2014/08/25 职场文书
环境卫生倡议书
2014/08/29 职场文书
小学优秀教师材料
2014/12/15 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书
朋友聚会开场白
2015/06/01 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
大学生读书笔记范文
2015/07/01 职场文书
投诉书范文
2015/07/02 职场文书
mysql 排序失效
2022/05/20 MySQL