谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

 更新时间:2015年10月01日 10:34:23   投稿:mrr  
这篇文章主要介绍了谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)以及JSON的parse()和stringfy()方法详解,感兴趣的朋友一起看看吧

在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

相关文章

  • JS封装的模仿qq右下角消息弹窗功能示例

    JS封装的模仿qq右下角消息弹窗功能示例

    这篇文章主要介绍了JS封装的模仿qq右下角消息弹窗功能,涉及javascript事件响应、页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • javascript 关于赋值、浅拷贝、深拷贝的个人理解

    javascript 关于赋值、浅拷贝、深拷贝的个人理解

    关于赋值、浅拷贝、深拷贝,以前也思考良久,很多时候都以为记住了,但是,我太难了。今天我特地写下笔记,希望可以完全掌握这个东西,也希望可以帮助到任何想对学习这个东西的同学
    2019-11-11
  • javascript 数组排序函数sort和reverse使用介绍

    javascript 数组排序函数sort和reverse使用介绍

    reverse方法将一个Array对象中的元素位置进行反转,sort方法返回一个元素已经进行了排序的 Array 对象,下面为大家介绍下
    2013-11-11
  • 详解webpack3编译兼容IE8的正确姿势

    详解webpack3编译兼容IE8的正确姿势

    这篇文章主要介绍了详解webpack3编译兼容IE8的正确姿势,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 使用原生javascript开发计算器实例代码

    使用原生javascript开发计算器实例代码

    这篇文章主要给大家介绍了关于如何使用原生javascript开发计算器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 微信小程序支付PHP代码

    微信小程序支付PHP代码

    这篇文章主要为大家详细介绍了微信小程序支付的PHP实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • JS上传图片前的限制包括(jpg jpg gif及大小高宽)等

    JS上传图片前的限制包括(jpg jpg gif及大小高宽)等

    文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。使用JS可以轻松解决词问题,js在上传图片前判断大小 这个可以用javascript实现,效果
    2012-12-12
  • echarts提示框tooltip被遮挡的解决办法分享

    echarts提示框tooltip被遮挡的解决办法分享

    这篇文章主要给大家介绍了关于echarts提示框tooltip被遮挡的解决办法, 在制作图表中,发现有时候tooltip会被线条遮挡或者被柱子折线遮挡,这种情况会偶尔出现,需要的朋友可以参考下
    2023-08-08
  • JS判断是否360安全浏览器极速内核的方法

    JS判断是否360安全浏览器极速内核的方法

    这篇文章主要介绍了JS判断是否360安全浏览器极速内核的方法,对比分析了360安全浏览器极速内核与其他主流浏览器内核的区别及对应的判断技巧,需要的朋友可以参考下
    2015-01-01
  • 详解vue-cli+es6引入es5写的js(两种方法)

    详解vue-cli+es6引入es5写的js(两种方法)

    本文通过两种方法给大家介绍vue-cli+es6引入es5写的js,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-04-04

最新评论