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 相关文章推荐
javascript模版引擎-tmpl的bug修复与性能优化分析
Oct 23 Javascript
jquery选择器需要注意的问题
Nov 26 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
jQuery图片切换动画效果
Feb 28 Javascript
JS字符串false转boolean的方法(推荐)
Mar 08 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
js实现前面自动补全位数的方法
Oct 10 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
Sep 19 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 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
为你总结一些php信息函数
2015/10/21 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
jQuery实现用方向键控制层的上下左右移动
2013/01/13 Javascript
js统计页面的来访次数实现代码
2014/05/09 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
利用python程序帮大家清理windows垃圾
2017/01/15 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
Python 移动光标位置的方法
2019/01/20 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
实现Python与STM32通信方式
2019/12/18 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
某公司C#程序员面试题笔试题
2014/05/26 面试题
财务部岗位职责
2013/11/19 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
北京故宫的导游词
2015/01/31 职场文书
2015中学教学工作总结
2015/07/22 职场文书
应届毕业生的自我评价
2019/06/21 职场文书