JSON.stringify方法
Published:
·
LastMod: June 29, 2022
·
489 words
JSON.parse 🔗
1
JSON.parse(text[, reviver])
reviver 🔗
转换器,如果传入该参数 (函数),可以用来修改解析生成的原始值,调用时机在 parse 函数返回之前。
解析值本身以及它所包含的所有属性,会按照一定的顺序(从最最里层的属性开始,一级级往外,最终到达顶层,也就是解析值本身)分别的去调用 reviver
函数
从最内层开始,按照层级顺序,依次向外遍历
JSON.stringify 🔗
1
JSON.stringify(value[, replacer [, space]])
value转换规则 🔗
- 值如果有
toJSON()
方法,按toJSON
方法输出。 - 非数组对象的属性 转换后顺序不固定。
- 布尔值、数字、字符串会转换成原始值。
- 常规对象中
undefined
、函数以及symbol
,会被忽略 - 数组中
undefined
、函数以及symbol
会 被转换成null
。 - 函数、
undefined
被单独转换时,会返回undefined
。 - 循环引用的对象会报错。
symbol
属性键的属性都会被移除。- Date 会转为字符串。
NaN 、Infinity 、 null
都会被当做 null。Map/Set/WeakMap/WeakSet
,仅会序列化可枚举的属性。
replacer 🔗
2个参数,包括key和value
|
|
space 🔗
参数用来控制结果字符串里面的间距, 用来格式化json
|
|