谈谈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 相关文章推荐
jQuery each()小议
Mar 18 Javascript
javascript标签在页面中的位置探讨
Apr 11 Javascript
html的DOM中document对象images集合用法实例
Jan 21 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
Aug 06 Javascript
jQuery实现图片渐入渐出切换展示效果
Aug 15 Javascript
单击按钮发送验证码,出现倒计时的简单实例
Mar 17 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
Oct 26 Javascript
仿京东快报向上滚动的实例
Dec 13 Javascript
vue.js删除列表中的一行
Jun 30 Javascript
Nuxt配置Element-UI按需引入的操作方法
Jul 06 Javascript
js+cavans实现图片滑块验证
Sep 29 Javascript
JS使用setInterval计时器实现挑战10秒
Nov 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
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
js文件中调用js的实现方法小结
2009/10/23 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
JS实现刷新父页面不弹出提示框的方法
2016/06/22 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
详解Python中的Cookie模块使用
2015/07/06 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
就业自荐书
2013/12/05 职场文书
酒店营销策划方案
2014/02/07 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫