js 复制json对象(代码示例)

quanzhangongchengshi

温馨提示:这篇文章已超过200天没有更新,请注意相关的内容是否还可用!

js 复制json对象(代码示例)

复制JSON对象可以使用深拷贝的方式来实现。深拷贝是指在复制对象时,不仅复制对象本身,还会递归地复制对象内部的所有属性和子对象。这样可以确保复制后的对象与原对象完全独立,修改复制后的对象不会影响原对象。

在JavaScript中,可以使用JSON.stringify()和JSON.parse()配合使用来实现深拷贝。使用JSON.stringify()将原对象转换为JSON字符串,然后再使用JSON.parse()将JSON字符串转换为新的对象。

以下是一个示例代码:

// 原JSON对象

var originalObject = {

name: "John",

age: 30,

address: {

city: "New York",

country: "USA"

}

};

// 使用JSON.stringify()将原对象转换为JSON字符串

var jsonString = JSON.stringify(originalObject);

// 使用JSON.parse()将JSON字符串转换为新的对象

var clonedObject = JSON.parse(jsonString);

// 修改复制后的对象

clonedObject.name = "Jane";

clonedObject.address.city = "Los Angeles";

console.log(originalObject); // 输出: { name: "John", age: 30, address: { city: "New York", country: "USA" } }

console.log(clonedObject); // 输出: { name: "Jane", age: 30, address: { city: "Los Angeles", country: "USA" } }

在上面的示例中,我们首先定义了一个原JSON对象originalObject。然后,使用JSON.stringify()将原对象转换为JSON字符串,存储在变量jsonString中。接着,使用JSON.parse()将JSON字符串转换为新的对象,存储在变量clonedObject中。

我们可以看到,修改复制后的对象clonedObject不会影响原对象originalObject。这是因为使用JSON.stringify()和JSON.parse()进行深拷贝时,会递归地复制对象内部的所有属性和子对象,确保复制后的对象与原对象完全独立。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码