我在node.js工作。我从一个服务获得一个json对象,其中一些字段说:
{
user: {
firstname : 'John',
lastname : 'Doe',
emailaddress : 'john.doe@example.com',
contactnumber: '9876458910'
}
}
上述json数据从excel / csv文件中获取并转换为json数据。 但是将这些数据存储到数据库中的另一个服务的json结构有另一种格式,例如
{
user : {
name: {
firstname : 'John',
lastname : 'Doe'
},
emailaddress : [{
emailaddress : 'john.doe@example.com'
}],
conatactdetails:[{
contactnumber : '9876458910'
}]
}
}
是否有可能实现这种转变
答案 0 :(得分:0)
它不是漂亮,但这样做:
function constructUserForDb(data) {
return Object.keys(data.user).reduce(function(acc, key) {
var value = data.user[key];
if (key === 'firstname' || key === 'lastname') {
acc['name'] = acc['name'] || {};
acc['name'][key] = value;
}
if (key === 'emailaddress') {
acc[key] = [{ emailaddress: value }];
}
if (key === 'contactnumber') {
acc['contactdetails'] = [{ contactnumber: value }];
}
return acc;
}, {});
};
工作jsfiddle here。