谈谈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 插件 任意位置浮动固定层
Dec 25 Javascript
style、 currentStyle、 runtimeStyle区别分析
Aug 01 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
Jan 17 Javascript
JS 去前后空格大全(IE9亲测)
Jul 15 Javascript
JavaScript作用域链示例分享
May 27 Javascript
微信小程序 地图定位简单实例
Oct 14 Javascript
jQuery与js实现颜色渐变的方法
Dec 30 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
vue如何集成raphael.js中国地图的方法示例
Aug 15 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
js canvas实现星空连线背景特效
Nov 01 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优于Node.js的五大理由分享
2012/09/15 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
javascript prototype 原型链
2009/03/12 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
vue实现评价星星功能
2020/06/30 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
怎样客观的做好自我评价
2013/12/28 职场文书
业务部主管岗位职责
2014/01/29 职场文书
学校文明单位申报材料
2014/05/06 职场文书
健康状况证明模板
2014/10/23 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
公诉意见书范文
2015/06/05 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
Linux中如何安装并部署Redis
2022/04/18 Servers