json.stringify()是干嘛的
stu数组没有“age”,所以students对象的“age”属性没有显示
再看最后一个例子

space:可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 也可以使用非数字,如:\t。
更多编程相关知识,请访问:编程学习!!
以上就是json.stringify()是干嘛的的详细内容,更多请关注聚合云库其它相关文章!
JSON.stringify({x: undefined, y: Object, z: Symbol("")}); // 输出结果:{} JSON.stringify([undefined, Object, Symbol("")]); // 输出结果:[null,null,null]' JSON.stringify({[Symbol("foo")]: "foo"}); // 输出结果:{} JSON.stringify({[Symbol.for("foo")]: "foo"}, [Symbol.for("foo")]); // 输出结果:{} JSON.stringify( {[Symbol.for("foo")]: "foo"}, function (k, v) { if (typeof k === "symbol"){ return "a symbol"; } } ); //输出结果:undefined从这些例子中可以看出:undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)
JavaScript JSON.stringify()
如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
第一个参数为数组
再看一下其他例子:
前面说到第三个参数就是用来缩进或者直接添加字符串在序列化对象的前面,所以直接看例子就行啦,注意最多只能10个缩进或字符
JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
实例说明
function replacer(key, value) { if (typeof value === "string") { return undefined; } return value; } var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7}; var jsonString = JSON.stringify(foo, replacer); //输出结果:{"week":45,"month":7}就是把第一个值传去函数进行相关的处理
function replacer(key, value) { if (typeof value === "string") { return undefined; } return value; }可以看出有一个key值,一个value值,还记得一开始说的第二个参数作key值吗?
var students = new Object(); students.name = "pika"; students.age = 19; students.qq = "12345678"; var stu= new Array(); stu[0] = "name"; stu[1] = "qq"; var json = JSON.stringify(students,stu); alert(json); //输出结果:{"name":"pika","qq":"12345678"}数组的值代表将被序列化成JSON字符串的属性名
2、有两个参数,第二个参数为数组
1、只有一个参数
JSON.stringify({}); // 输出结果:{} JSON.stringify(true); // 输出结果:true JSON.stringify("foo"); // 输出结果:"foo" JSON.stringify([1, "false", false]); // 输出结果:[1,"false",false] JSON.stringify({ x: 5 }); // 输出结果:{"x":5} JSON.stringify({x: 5, y: 6}); //输出结果:{"x":5,"y":6} JSON.stringify([new Number(1), new String("false"), new Boolean(false)]); //输出结果:[1,"false",false]从这些例子中可以看出:布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值
如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。
replacer:可选。用于转换结果的函数或数组。
返回值:
JSON.stringify(value[, replacer[, space]])参数说明:
实例:
["pika","hello","hey"]如果不用JSON.stringify()函数,直接alert(students),那么
看一下其他例子:
pika,hello,hey从这里到对比可以比较直观的看出JSON.stringify()函数的作用啦
json.stringify()用于将JavaScript对象或值转换为JSON字符串,如果指定了一个replacer函数,则可以选择性地替换值,或者指定的replacer是数组,则可选择性地仅包含数组指定的属性。
有三个参数
输出结果:
返回包含 JSON 文本的字符串。
注意:以下的输出结果都是string类型的,为了容易看就没有用单引号‘’表明是字符串类型
JSON.stringify({ a: 2 }, null, " "); // 输出结果:{\n "a": 2\n} JSON.stringify({ uno: 1, dos : 2 }, null, '\t') /* 输出结果: { "uno": 1, "dos": 2 } */ var students = new Object(); students.name = "pika"; students.age = 19; students.qq = "12345678"; var stu= new Array(); stu[0] = "name"; stu[1] = "qq"; var json = JSON.stringify(students,stu,"test") alert(json); /* 输出结果: { test"name": "pika", test"qq": "12345678" } */总结
value:必需, 要转换的 JavaScript 值(通常为对象或数组)。
函数例子:
第一个参数为对象
2、有两个参数,第二个参数为函数
var students = new Array(); students[0] = "pika"; students[1] = "hello"; students[2] = "hey"; var json = JSON.stringify(students); alert(json);输出结果:
相关推荐:《javascript视频教程》
最后来总结一下,JSON.stringify()函数是用来序列化对象的,无论输入什么,输出的都是字符串类型,可以按自己的需求来定制如何序列化,输出结果是怎样的格式
参数为对象:
JSON.stringify( Object.create( null, { x: { value: 'x', enumerable: false }, y: { value: 'y', enumerable: true } } ) );从例子中可以看出:不可枚举的属性会被忽略
语法
var students = new Array(); students[0] = "pika"; students[1] = "hello"; students[2] = "hey"; var stu= new Array(); stu[0] = "how"; stu[1] = "are"; stu[2] = "u"; var json = JSON.stringify(students,stu); alert(json); //输出结果:["pika","hello","hey"]结果是只有第一个值序列化了,第二个被忽略了
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/javascript/4518.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
那么问题来了:我们要怎
时间:2021-01-20
-
2021年,进修JavaScript必然要
时间:2021-01-20
-
DeFi(去中心化金融)现在的
时间:2021-01-20
-
您无需对类型做任何假设
时间:2021-01-20
-
例如下面这句: export co
时间:2021-01-20
-
key ); } console.log(hasOwn({
时间:2021-01-20
-
是不是? 自定义 Hook 如果你
时间:2021-01-20
-
Javascript是什么?
时间:2021-01-04
热门文章
-
连续3年稳居第一,全球1240万用户,Java
时间:2021-01-04
-
一篇带给你JavaScript的Class语法介绍
时间:2021-01-04
-
key ); } console.log(hasOwn({ name :1}
时间:2021-01-20
-
深入理解JavaScript中的箭头函数
时间:2021-01-04
-
Javascript在Chrome浏览器中调试的七个步骤
时间:2021-01-04
-
那么问题来了:我们要怎么在样式中使用
时间:2021-01-20
-
Canvas入门实战之实现一个图形验证码
时间:2021-01-04
-
详解js异步文件加载器
时间:2021-01-04
-
是不是? 自定义 Hook 如果你想仿照 useSta
时间:2021-01-20
-
复盘Node项目中遇到的13+常见问题和解决方
时间:2021-01-04
