var obj = {
fname:'zhao',
lname:'yao',
parents:{
father:'zhao'
},
children:[
{
dname:'zhaoyiyi'
}
]
}
var hash={fname:'firstname',lname:'lastname',father:'fathername',dname:'dautername'}
function map(obj)
{
var keys=Object.keys(obj);
var hashKeys = Object.keys(hash);
for(var i=0,j=keys.length;i<j;i++)
{
if(typeof obj[keys[i]]==='object')
{
if(obj[keys[i]].splice && obj[keys[i]].push)
{
for(var x=0,y=obj[keys[i]].length;x<y;x++)
{
obj[keys[i]][x]=map(obj[keys[i]][x]);
}
}
obj[keys[i]] = map(obj[keys[i]]);
}
if(hash[keys[i]])
{
obj[hash[keys[i]]]=obj[keys[i]];
delete obj[keys[i]];
}
}
return obj;
}
console.log(map(obj));