JSON.parse(JSON.stringify(x))目的?

时间:2014-07-14 19:37:30

标签: javascript json

在我开展项目时,我遇到了这段代码:

var params = JSON.parse(JSON.stringify(defaultParams));

这段代码实际上做了什么吗?

2 个答案:

答案 0 :(得分:8)

这是一种克隆对象的方法,因此您可以获得一个唯一但与克隆对象具有相同属性的完整副本。

var defaultParams = { a : 'b' };
var params = JSON.parse(JSON.stringify(defaultParams));

console.log( params.a ); // b
console.log( defaultParams.a ); // b
console.log( params === defaultParams ); // false

以上输出false,因为即使两个对象都具有a属性,值为b,也有不同的对象相互独立(它们不会相同)。 t参考相同的参考文献)。

JSON方法仅适用于基本属性 - 没有函数或方法。

答案 1 :(得分:1)

您可以断开两个数组之间的连接。

例如:

const bulkAssignTreeView = JSON.stringify(this.bulkAssignTreeViewData);
this.bulkAssignTreeViewData = JSON.parse(bulkAssignTreeView);