JSON.stringify()方法讲解


Posted in Javascript onJanuary 31, 2019

JSON.stringify()方法是什么呢?

我们在向服务器发送数据时一般是字符串。

我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

语法

JSON.stringify(value[, replacer[, space]])

参数说明:

value:

  • 必需,一个有效的 JSON 对象。

replacer:

  • 可选。用于转换结果的函数或数组。
  • 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。
  • 如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。

space:

  • 可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 有可以使用非数字,如:\t。

JavaScript 对象转换

var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);   JavaScript 对象转换为JSON对象
document.getElementById("demo").innerHTML = myJSON;
//JavaScript数组转换为JSON对象
var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

异常

解析数据

JSON 不能存储 Date 对象。

JSON.stringify() 会将所有日期转换为字符串。

<p id="demo"></p>
<script>
var obj = { "name":"Runoob", "initDate":new Date(), "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>

解析函数

JSON 不允许包含函数,JSON.stringify() 会删除 JavaScript 对象的函数,包括 key 和 value。

<p id="demo"></p>
<script>
var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>

结果为

JSON.stringify 将删除对象中的函数

{"name":"Runoob","site":www.runoob.com}

我们可以在执行 JSON.stringify() 函数前将函数转换为字符串来避免以上问题的发生:

eg:<p id="demo"></p>
<script>
var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"};
obj.alexa = obj.alexa.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
jQuery学习之prop和attr的区别示例介绍
Nov 15 Javascript
js document.write()使用介绍
Feb 21 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
Dec 08 Javascript
详解js中的apply与call的用法
Jul 30 Javascript
微信小程序之拖拽排序(代码分享)
Jan 21 Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
详解如何使用nvm管理Node.js多版本
May 06 Javascript
通过vue手动封装on、emit、off的代码详解
May 29 Javascript
vue的keep-alive用法技巧
Aug 15 Javascript
微信小程序事件流原理解析
Nov 27 Javascript
JS内置对象和Math对象知识点详解
Apr 03 Javascript
完美解决vue 中多个echarts图表自适应的问题
Jul 19 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
Jan 31 #Javascript
vue中的mvvm模式讲解
Jan 31 #Javascript
Vue和React组件之间的传值方式详解
Jan 31 #Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 #Javascript
async/await优雅的错误处理方法总结
Jan 30 #Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 #Javascript
JavaScript之解构赋值的理解
Jan 30 #Javascript
You might like
星际RPG字典
2020/03/04 星际争霸
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
PHP实现的DES加密解密实例代码
2016/04/06 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
CSS常用网站布局实例
2008/04/03 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
js仿小米官网图片轮播特效
2016/09/29 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
Angular5集成eventbus的示例代码
2018/07/19 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
Django中使用locals()函数的技巧
2015/07/16 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
python画图的函数用法以及技巧
2019/06/28 Python
Django中Middleware中的函数详解
2019/07/18 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
Python学习笔记之装饰器
2020/08/06 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
求职信模板标准格式范文
2014/02/23 职场文书
迎国庆演讲稿
2014/09/05 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
项目安全员岗位职责
2015/02/15 职场文书
56句经典英文座右铭
2019/08/09 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL