如何从node.js中预定义的json模板创建json对象

时间:2017-01-09 13:32:36

标签: javascript json node.js

我在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'
    }]
  }
}

是否有可能实现这种转变

1 个答案:

答案 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