我想更改JSON属性的键并保持/保持其位置/索引。
E.g。
{"Test1" : {
mytest1:34,
mytest2:56,
mytest6:58,
mytest5:89,
}
}
现在我想将关键 mytest6 更改为 mytest4 ,并保持原样。
注意:在我的情况下,我无法使用数组。
感谢。
答案 0 :(得分:0)
jsonObj = {"Test1" : {
mytest1:34,
mytest2:56,
mytest6:58,
mytest5:89,
}
};
var old_key = "mytest6";
var new_key = "mytest4";
if (old_key !== new_key) {
Object.defineProperty(jsonObj.Test1, new_key,
Object.getOwnPropertyDescriptor(jsonObj.Test1, old_key));
delete jsonObj.Test1[old_key];
}
console.log(jsonObj);
此方法可确保重命名的属性与原始属性的行为相同。
此外,在我看来,将它包装到函数/方法并将其放入Object.prototype的可能性与您的问题无关。