谈谈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 02 Javascript
jquery的ajax异步请求接收返回json数据实例
Jun 16 Javascript
jQuery获取字符串中出现最多的数
Feb 22 Javascript
详解基于webpack2.x的vue2.x的多页面站点
Aug 21 Javascript
浅谈webpack编译vue项目生成的代码探索
Dec 11 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
Mar 21 Javascript
微信小程序实现留言板功能
Nov 02 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 Javascript
Vue触发input选取文件点击事件操作
Aug 07 Javascript
类和原型的设计模式之复制与委托差异
Jul 07 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
开发大型 PHP 项目的方法
2007/01/02 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
python实现dict版图遍历示例
2014/02/19 Python
wxPython中文教程入门实例
2014/06/09 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
python能做什么 python的含义
2019/10/12 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
房地产员工找工作的自我评价
2013/11/15 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
全陪导游词
2015/02/04 职场文书
python执行js代码的方法
2021/05/13 Python
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技