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 相关文章推荐
在线编辑器的实现原理(兼容IE和FireFox)
Mar 09 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
PHP+mysql+Highcharts生成饼状图
May 04 Javascript
javascript常用函数(1)
Nov 04 Javascript
js获取时间精确到秒(年月日)
Mar 16 Javascript
文件上传的几个示例分享【推荐】
Dec 16 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
Jan 27 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
vue.js element-ui validate中代码不执行问题解决方法
Dec 18 Javascript
react-native-video实现视频全屏播放的方法
Mar 19 Javascript
理顺8个版本vue的区别(小结)
Sep 17 Javascript
vue实现滑动超出指定距离回顶部功能
Jul 31 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
php封装的page分页类完整实例
2016/10/18 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
JS 对象介绍
2010/01/20 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python机器学习之神经网络实现
2018/10/13 Python
Python文件操作基础流程解析
2020/03/19 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
python Cartopy的基础使用详解
2020/11/01 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
生物化学研究助理员求职信
2013/10/09 职场文书
求职信范文怎么写
2014/01/29 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
责任心演讲稿
2014/05/14 职场文书
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
Go语言安装并操作redis的go-redis库
2022/04/14 Golang