JSON.stringify()
将对象序列化为 JSON 字符串
📌注意:
JSON.stringify在遇到undefined、function、symbol时会自动将其忽略JSON.stringify(undefined) // undefinedJSON.stringify(function() {}) // undefinedJSON.stringify(Symbol()) // undefined
在数组中则会返回
null(以保证单元位置不变)JSON.stringify([1,undefined, function() {}, Symbol(), 'str', true])// "[1,null,null,null,"str",true]"
JSON.parse()
将 JSON 数据解析为 js 对象
利用JSON.parse(JSON.stringify(obj))完成深拷贝
// 源对象的属性 b 指向的是一个对象,属于引用类型const source = { a: 0 , b: { c: 0}};const target = JSON.parse(JSON.stringify(source));// 深拷贝后,修改源对象的属性 b, 目标对象不受影响source.a = 4;source.b.c = 4;console.log(JSON.stringify(target)); // { a: 0, b: { c: 0}}
