博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON对象
阅读量:6673 次
发布时间:2019-06-25

本文共 1597 字,大约阅读时间需要 5 分钟。

 JSON对象的两个方法:

JSON.stringify() --- 将js对象序列化为JSON字符串

JSON.parse()   --  将JSON字符串解析为js对象 

 

 序列化js对象时候,所有函数及原型会被忽略,值为undefined的任何属性也会被跳过。结果中最终都是有效的JSON数据类型的实例属性。

 

JSON.stringify参数解析

原型:JSON.stringify(js字符串, 过滤数组或函数, 字符串缩进)

1.过滤数组

总结:返回的结果中,只会包含过滤数组中的属性(ps:这属性在原js字符串中存在,且值被定义。换句话说,这属性在被序列化之后存在于JSON字符串中)

          即1.若过滤数组中存在属性aaa,但是被转化的js字符串中aaa:undefined,则过滤后的返回值中没有aaa属性

             2.若过滤数组中存在属性bbb,但是被转化的js字符串中没有bbb属性,则过滤后的返回值中没有bbb属性

          总结上述两点:JSON字符串中不存在undefined属性值

2.过滤函数

var book={    "title": "test",    "authors": [        "test1",        "test2"    ],    edition: 3,    year: 2012};var jsonText = JSON.stringify(book, function(key, value){    switch (key){        case "authors":             return value.join(",")                   case "year":            return 5000                  case "edition":            return undefined;                 default:            return value;    }});

说明:1.过滤函数有两个参数:属性名 和 属性值

          2.若函数返回undefined,那么对应的属性会被忽略掉

          3.函数中一定要提供default项,因为第一次调用这个函数过滤器时,传入的属性名是一个空字符串,属性值是js字符串对象(book)

3.字符串缩进

var book={    "title": "test",    "authors": [        "test1",        "test2"    ],    edition: 3,    year: 2012};var jsonText = JSON.stringify(book, function(key, value){    switch (key){        case "authors":             return value.join(",")                   case "year":            return 5000                  case "edition":            return undefined;                 default:            return value;    }},4);

将上述第三个参数改为: '* ** *',结果为:

说明:

1. 该参数若为数值,则表示每个级别缩进的空格数

2. 最大缩进空格数为10,若设置的参数数值大于10,会被自动转化为10
3. 若使用字符串,则该字符串将被用做缩进字符,而不再使用空格开进行缩进

 

转载于:https://www.cnblogs.com/xnn1993/p/7739759.html

你可能感兴趣的文章
具体数学第二版第三章习题(3)
查看>>
JAVA版-微信高清语音.speex转.wav格式
查看>>
第8周编程总结
查看>>
cocos2d-x中本地推送消息
查看>>
转:架构师之路16年精选50篇
查看>>
滑动窗口
查看>>
蓝桥杯 马虎的算式(全排列)
查看>>
Oracle修改表字段类型(number-->varchar2(len)),亲测可用
查看>>
编译错误(WDK).warning treated as error - no ‘object’ file generated
查看>>
数据库表中批量替换某个字段的方法
查看>>
典型用户和场景
查看>>
碎点小结
查看>>
结对编程的看法
查看>>
ruby 字符串加密
查看>>
Laravel 中缓存驱动的速度比较
查看>>
C struct 隐藏结构体成员
查看>>
Python中的 sort 和 sorted
查看>>
面试题29-数组中出现次数超过一半的值
查看>>
Ubiquitous Religions-并查集(5)
查看>>
Tom数
查看>>