简体   繁体   English

Javascript(NodeJs)-将数组和对象转换为在mysql中批量插入(Sequelize)

[英]Javascript(NodeJs) - Conversion of Arrays and Objects to bulk insert in mysql(Sequelize)

This is my json: 这是我的json:

{
    "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": [
        ]
    }
}

How to make the above json into: 如何将上述json转换为:

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

I want to take phoneno data from gsm object key 我想从gsm对象密钥获取phoneno数据

Which is best method to do this? 哪种方法最好? for or forEach or anyother? 为或为每个或任何其他?

I guess, this is what you want. 我想,这就是您想要的。 Use map to convert contactgroups to new array with phoneno . 使用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); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM