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中worker事件api
Dec 25 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
JS学习之表格的排序简单实例
May 16 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
May 27 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
axios基本入门用法教程
Mar 25 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 Javascript
js实现列表向上无限滚动
Jan 13 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 Javascript
js 数组当前行添加数据方法详解
Jul 28 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生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
jquery实现excel导出的方法
2013/04/04 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
vue router动态路由设置参数可选问题
2019/08/21 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
python计算牛顿迭代多项式实例分析
2015/05/07 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
np.dot()函数的用法详解
2020/01/17 Python
成功的餐厅经营创业计划书
2014/01/15 职场文书
幼儿园小班教学反思
2014/02/02 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
初中班主任评语
2014/04/24 职场文书
高一地理教学工作总结
2015/08/12 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python
MySQL 数据库范式化设计理论
2022/04/22 MySQL