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 attr 设定src中含有&amp;(宏)符号问题的解决方法
Jul 26 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
Apr 26 Javascript
Javascript遍历table中的元素示例代码
Jul 08 Javascript
jQuery中slideUp()方法用法分析
Dec 24 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
JS动态添加选项案例分析
Oct 17 Javascript
AngularJS入门教程之模块化操作用法示例
Nov 02 Javascript
使用Vue自定义数字键盘组件(体验度极好)
Dec 19 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 Javascript
js仿360开机效果
Dec 26 Javascript
5个你不知道的JavaScript字符串处理库(小结)
Jun 01 Javascript
vue选项卡切换的实现案例
Apr 11 Vue.js
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中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
vue cli 全面解析
2018/02/28 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python函数的万能参数传参详解
2019/07/26 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
python利用opencv保存、播放视频
2020/11/02 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
历史学专业个人的自我评价
2013/10/13 职场文书
小学教师寄语大全
2014/04/03 职场文书
爱与责任演讲稿
2014/05/20 职场文书
甘南现象心得体会
2014/09/11 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书