谈谈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 相关文章推荐
JavaScript实现自动弹出窗口并自动关闭窗口的方法
Aug 06 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
Angular1.x自定义指令实例详解
Mar 01 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
Apr 25 Javascript
Vue作用域插槽slot-scope实例代码
Sep 05 Javascript
小程序兼容安卓和IOS数据处理问题及坑
Sep 18 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
基于JS实现数字动态变化显示效果附源码
Jul 18 Javascript
浅谈vuex中store的命名空间
Nov 08 Javascript
微信小程序获取当前位置和城市名
Nov 13 Javascript
微信小程序仿通讯录功能
Apr 09 Javascript
如何在 Vue 中使用 JSX
Feb 14 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中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
Python版的文曲星猜数字游戏代码
2013/09/02 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
Python unittest框架操作实例解析
2020/04/13 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
出国留学计划书
2014/04/27 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
大学生个人学年总结
2015/02/15 职场文书
会议主持词开场白
2015/05/28 职场文书
预备党员入党感言
2015/08/01 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
python turtle绘图
2022/05/04 Python