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 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
JavaScript 创建运动框架的实现代码
May 08 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
Aug 09 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
Aug 23 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
Sep 16 Javascript
前端开发过程中浏览器版本的两种判定方法
Oct 30 Javascript
javascript面向对象程序设计(一)
Jan 29 Javascript
微信小程序实现鼠标拖动效果示例
Dec 01 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
Mar 05 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 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中Cookie与Session的异同
2016/02/19 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jquery设置表单元素为不可用的简单代码
2016/07/04 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
Python标准库之Sys模块使用详解
2015/05/23 Python
Python简单计算文件夹大小的方法
2015/07/14 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
基于python图像处理API的使用示例
2020/04/03 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
2020/12/09 Python
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
工作中的自我评价如何写好
2013/10/28 职场文书
应届生会计求职信
2013/11/11 职场文书
表彰先进集体通报
2014/01/12 职场文书
成龙洗发水广告词
2014/03/14 职场文书
个人培训自我鉴定
2014/03/28 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
毕业证明模板
2015/06/19 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python
Python字符串的转义字符
2022/04/07 Python