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 相关文章推荐
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
Jan 24 Javascript
JS验证邮箱格式是否正确的代码
Dec 05 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
基于javascript数组实现图片轮播
May 02 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
Feb 14 Javascript
vue-router:嵌套路由的使用方法
Feb 21 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
Mar 06 Javascript
详解小程序循环require之坑
Mar 08 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
Jan 21 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 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 sprintf()函数用例解析
2011/05/18 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
javascript 写类方式之二
2009/07/05 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
python在文本开头插入一行的实例
2018/05/02 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
python做反被爬保护的方法
2019/07/01 Python
python3 线性回归验证方法
2019/07/09 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
职称自我鉴定
2013/10/15 职场文书
环境工程大学生自荐信
2013/10/21 职场文书
医科大学生的自我评价
2013/12/04 职场文书
租房协议书范文
2014/08/20 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
2014小学年度工作总结
2014/12/20 职场文书