【问题标题】:Javascript(NodeJs) - Conversion of Arrays and Objects to bulk insert in mysql(Sequelize)Javascript(NodeJs) - 将数组和对象转换为 mysql 中的批量插入(Sequelize)
【发布时间】:2018-05-31 14:36:27
【问题描述】:

这是我的 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": [
        ]
    }
}

如何把上面的json做成:

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

我想从 gsm 对象键中获取音素数据

执行此操作的最佳方法是什么? for 或 forEach 或任何其他?

【问题讨论】:

  • 这样的记录只有一条,或者你的JSON上有多条这样的记录?
  • 我需要这个精确的 json 对象 :)

标签: javascript mysql arrays json node.js


【解决方案1】:

我猜,这就是你想要的。使用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);

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2020-09-02
    • 2018-05-11
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    相关资源
    最近更新 更多