谈谈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 相关文章推荐
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
May 13 Javascript
jquery键盘事件使用介绍
Nov 01 Javascript
用Javascript获取页面元素的具体位置
Dec 09 Javascript
javascript中使用正则表达式清理table样式的代码
Apr 01 Javascript
超漂亮的jQuery图片轮播特效
Nov 24 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
AngularJS 模型详细介绍及实例代码
Jul 27 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
fullCalendar中文API官方文档
Feb 07 Javascript
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
原生js二级联动效果
Jun 20 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
全文搜索和替换
2006/10/09 PHP
php设计模式 Adapter(适配器模式)
2011/06/26 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
PHP反射基础知识回顾
2020/09/10 PHP
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
深入理解vuex2.0 之 modules
2017/11/20 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
python实现井字棋游戏
2020/03/30 Python
python与mysql数据库交互的实现
2020/01/06 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
python opencv实现图像配准与比较
2021/02/09 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
网站设计师的岗位职责
2013/11/21 职场文书
幼儿教师考核制度
2014/01/25 职场文书
大二法英学生职业生涯规划范文
2014/02/27 职场文书
文明寄语大全
2014/04/11 职场文书
爱牙日活动总结
2014/08/29 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS