谈谈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下:float属性会影响offsetTop的取值
Dec 22 Javascript
event.X和event.clientX的区别分析
Oct 06 Javascript
javascript弹出层输入框(示例代码)
Dec 11 Javascript
在JavaScript中重写jQuery对象的方法实例教程
Aug 25 Javascript
javascript中var的重要性分析
Feb 11 Javascript
JS实现图片放大镜效果的方法
Feb 27 Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
May 02 Javascript
js 对象使用的小技巧实例分析
Nov 08 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
Vue3实现简易音乐播放器组件
Aug 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 保留小数点
2009/04/21 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
header导出Excel应用示例
2014/01/24 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
详解php中反射的应用
2016/03/15 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
js实现同一页面多个不同运动效果的方法
2015/04/10 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
jQuery实现的简单图片轮播效果完整示例
2018/02/08 jQuery
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
python批量获取html内body内容的实例
2019/01/02 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
反腐倡廉剖析材料
2014/09/30 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python