今天碰到需要修改属性名的问题,比如将下面这个对象:
var obj = {
'myName': 'XiaoMing',
'myAge': 12,
}
修改为:
var obj = {
'yourName': 'XiaoMing',
'myAge': 12,
}
在网上搜了一个方法:
obj = JSON.parse(JSON.stringify(obj).replace(/myName/g,"yourName"));
这明显存在缺陷,比如我的对象是这样的:
var obj = {
'myName': 'XiaoMing',
'myAge': 12,
'test': 'myName'
}
显然会有问题。
所以属性名一般是不用改的,如果是需要改的信息,最好作为属性值:
var obj = {
'name': 'myName',
'message': {
'myAge': 12,
'mySex': 'male'
}
}