2017-12-18 144 views
2

这是我的JSON:使用Javascript(的NodeJS) - 阵列和mysql的对象批量插入的转换(Sequelize)

{ 
    "senderName": "ifelse", 
    "message": "Hi", 
    "groups": [ 
    { 
     "id": 14, 
     "groupname": "Angular", 
     "contactgroups": [ 
     { 
      "id": 1, 
      "contact": { 
       "id": 1, 
       "gsm": "123456789" 
      } 
     }, 
     { 
      "id": 3, 
      "contact": { 
       "id": 2, 
       "gsm": "111111111" 
      } 
     }], 
     "select": true 
    }], 
    "draftData": { 
     "contacts": [ 
     ] 
    } 
} 

如何让上面的JSON到:

[{phoneno: 123456789; sender: ifelse ; message: Hi},{phoneno: 11111111; sender: ifelse ; message: Hi}] 

我想从gsm对象密钥

哪一个是最好的方法来做到这一点?为或为每个或另一个?

+1

只有一个这样的记录或有多个记录,这样你的JSON? –

+3

我需要这个确切的json对象:) –

回答

4

我想,这是你想要的。使用mapcontactgroups转换为phoneno的新阵列。

var data = { 
 
    "senderName": "ifelse", 
 
    "message": "Hi", 
 
    "groups": [{ 
 
    "id": 14, 
 
    "groupname": "Angular", 
 
    "contactgroups": [{ 
 
     "id": 1, 
 
     "contact": { 
 
      "id": 1, 
 
      "gsm": "123456789" 
 
     } 
 
     }, 
 
     { 
 
     "id": 3, 
 
     "contact": { 
 
      "id": 2, 
 
      "gsm": "111111111" 
 
     } 
 
     } 
 
    ], 
 
    "select": true 
 
    }], 
 
    "draftData": { 
 
    "contacts": [] 
 
    } 
 
} 
 

 
var result = data.groups[0].contactgroups.map(i => { 
 
    return { 
 
    phoneno: i.contact.gsm, 
 
    sender: data.senderName, 
 
    message: data.message 
 
    } 
 
}) 
 

 
console.log(result);