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 相关文章推荐
固定背景实现的背景滚动特效示例分享
May 19 Javascript
JavaScript实现Base64编码转换
Apr 23 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
webpack入门+react环境配置
Feb 08 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
js自定义Tab选项卡效果
Jun 05 Javascript
jQuery实现frame之间互通的方法
Jun 26 jQuery
浅谈Webpack多页应用HMR卡住问题
Apr 24 Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 Javascript
Vue组件基础用法详解
Feb 05 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
Aug 14 Javascript
关于Vue中的options选项
Mar 22 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 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
php写app用的框架整理
2019/09/29 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
jQuery获取节点和子节点文本的方法
2014/07/22 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
Vue组件开发技巧总结
2018/03/04 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
JAVA程序员面试题
2012/10/03 面试题
实习医生自我评价
2013/09/22 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
三万活动总结
2014/04/28 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
2015员工年度考核评语
2015/03/25 职场文书
单位病假条范文
2015/08/17 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
mysql事务隔离级别详情
2021/10/24 MySQL