JavaScript 笔记(17)- JSON

原创 乘风逐月 随笔 JavaScript 226阅读 2018-06-15 15:17:31 举报

一、JSON对象

全局 JSON 对象有两个方法:stringify() 和 parse(),分别用于把 JavaScript 对象序列化为 JSON 字符串和 JSON 字符串解析成原生 JavaScript 对象。

1.序列化选项

JSON.stringify()除了接收一个要序列化的 JavaScript 对象外,还可以接受另外两个参数,用以指定序列化对象的方式。第二个参数是一个过滤器,可以是一个数组,也可以是一个函数;第三个参数是一个选项,表示是否在 JSON 字符串中保留缩进。
(1)过滤结果
a.如果过滤器参数是数组: JSON.stringify() 的结果中将只包含数组中列出的属性。
例如:

b.如果第二个参数是函数: 传入的函数接收两个参数,属性名和属性值。根据属性名可以知道应该如何处理要序列化的对象中的属性。属性名只能是字符串,而在值并非键值对的结构的值时,键名可以是空字符串。为了改变序列化的结果,函数返回的值就是相应键的值,如果函数反回了 undefined,那么相应的属性会被忽略。

(2)字符串缩进
JSON.stringify()方法的第三个参数用于控制结果中的缩进和空白符。
a.如果这个参数是一个数值,表示每个级别缩进的空格数。

b.如果缩进是一个字符串: 则这个字符串将在JSON字符串中被用作缩进字符。
c.缩进字符最长不能超过十个。

2.解析选项

JSON.parse() 方法可以接受第二个参数,改参数是一个函数,将在每个键值对上调用。这个接受两个参数,键和值,都需要一个返回值。如果返回 undefined ,则表示要从结果中删除相应的键;如果返回其他值,则将该值插入到结果中。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复