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调用XML制作连动下拉列表框
Jun 25 Javascript
Js callBack 返回前一页的js方法
Nov 30 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
JavaScript回调(callback)函数概念自我理解及示例
Jul 04 Javascript
JavaScript 开发工具webstrom使用指南
Dec 09 Javascript
jquery.validate使用时遇到的问题
May 25 Javascript
AngularJS实现元素显示和隐藏的几个案例
Dec 09 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
Mar 15 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
Nov 17 Javascript
小程序红包雨的实现示例
Feb 19 Javascript
微信小程序实现滑动翻页效果(完整代码)
Dec 06 Javascript
基于Web Audio API实现音频可视化效果
Jun 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使之能同时支持GIF和JPEG
2006/10/09 PHP
模拟flock实现文件锁定
2007/02/14 PHP
php 空格,换行,跳格使用说明
2009/12/18 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
2020/05/25 PHP
JavaScript null和undefined区别分析
2009/10/14 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
javascript自定义加载loading效果
2020/09/15 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
给海归自荐信的建议
2013/12/13 职场文书
运动会跳远广播稿
2014/02/04 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
2014年学校工会工作总结
2014/12/06 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书