如何在javascript中复制JSON?
需要在不同层次结构级别的相同JSON中克隆JSON。下面是一个JSON示例 初始代码如下所示:如何在javascript中复制JSON?,javascript,jquery,json,Javascript,Jquery,Json,需要在不同层次结构级别的相同JSON中克隆JSON。下面是一个JSON示例 初始代码如下所示: { "data": { "moduleName": { "content": { "moduleName": { "property1": "Lorem Ipsum Dummy Text", "property2": ['abc', 'xyz'
{
"data": {
"moduleName": {
"content": {
"moduleName": {
"property1": "Lorem Ipsum Dummy Text",
"property2": ['abc', 'xyz']
}
},
"property3": "300438825",
"property4": "item"
}
}
}
结果应该是:
{
"data": {
"moduleName": {
"content": {
"moduleName": {
"property1": "Lorem Ipsum Dummy Text",
"property2": ['abc', 'xyz']
}
},
"property1": "Lorem Ipsum Dummy Text",
"property2": ['abc', 'xyz']
"property3": "300438825",
"property4": "item"
}
}
}
有人能为同样的问题提出一种方法/伪代码吗?你的问题不清楚。但我认为你想复制数据 试试这个
function extend(a, b){
for(var key in b)
if(b.hasOwnProperty(key))
a[key] = b[key];
return a;
}
var arr = {
"data": {
"moduleName": {
"content": {
"moduleName": {
"property1": "Lorem Ipsum Dummy Text",
"property2": ['abc', 'xyz']
}
},
"property3": "300438825",
"property4": "item"
}
}
};
var b = {
"property3": "300438825",
"property4": "item"
};
console.log(extend(arr.data.moduleName, arr.data.moduleName.content.moduleName));
请参见需要将property1和property2从content.moduleName复制到data.moduleName。我认为您需要进行复制,并向JSONall添加两个新属性data.moduleName.content.moduleName中的所有属性在data.moduleName中进行复制。moduleName应该再次返回整个数据,我看不到var b在任何地方的使用。