Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从sequelize获得响应后修改JSON_Mysql_Arrays_Node.js_Json_Sequelize.js - Fatal编程技术网

Mysql 从sequelize获得响应后修改JSON

Mysql 从sequelize获得响应后修改JSON,mysql,arrays,node.js,json,sequelize.js,Mysql,Arrays,Node.js,Json,Sequelize.js,我从sequelize函数中得到一个JSON。我必须对其进行修改,因为我必须将其发送给数据库导入器,该导入器需要固定的格式。 有没有一种方法可以自定义此函数,以便返回所需的结果 型号: User.associate = function (models) { User.hasMany(models.SurveyResult) }` SurveyResult.associate = function (models) { SurveyResult.belongsTo(

我从sequelize函数中得到一个JSON。我必须对其进行修改,因为我必须将其发送给数据库导入器,该导入器需要固定的格式。 有没有一种方法可以自定义此函数,以便返回所需的结果

型号:

User.associate = function (models) {
    User.hasMany(models.SurveyResult)
  }`

    SurveyResult.associate = function (models) {
    SurveyResult.belongsTo(models.User)
职能:

  async mediImport (req, res) {
    try {
      const transaction = await User.findAll({

        where: { released: true },
        // Select forename as Vorname, name as Nachname
        attributes: [
          ['forename', 'PAPPS286'],
          ['name', 'Nachname'],
          ['birthdate', 'PADPS60']
        ],

        include: [{ model: SurveyResult, attributes: ['result'] }]

      }).map(user => user.toJSON())

      res.send({
        transaction

      }
      )
    }
{
    "transaction": [
        {
            "PAPPS286": "Tes",
            "Nachname": "Josef",
            "PADPS60": null,
            "SurveyResults": [ {
                    "result": {
                        "name": "blau",
                        "email": "mail",
                        "birthdate": "01.02.1990"
                    }
                }]
        },
        {
            "PAPPS286": "Dampf",
            "Nachname": "Hans",
            "PADPS60": null,
            "SurveyResults": [
                {
                    "result": {
                        "name": "blau",
                        "email": "mail",
                        "birthdate": "01.02.1990"
                    }
                }
            ]
        },    
      ]
    },
这是我从函数中得到的JSON:

  async mediImport (req, res) {
    try {
      const transaction = await User.findAll({

        where: { released: true },
        // Select forename as Vorname, name as Nachname
        attributes: [
          ['forename', 'PAPPS286'],
          ['name', 'Nachname'],
          ['birthdate', 'PADPS60']
        ],

        include: [{ model: SurveyResult, attributes: ['result'] }]

      }).map(user => user.toJSON())

      res.send({
        transaction

      }
      )
    }
{
    "transaction": [
        {
            "PAPPS286": "Tes",
            "Nachname": "Josef",
            "PADPS60": null,
            "SurveyResults": [ {
                    "result": {
                        "name": "blau",
                        "email": "mail",
                        "birthdate": "01.02.1990"
                    }
                }]
        },
        {
            "PAPPS286": "Dampf",
            "Nachname": "Hans",
            "PADPS60": null,
            "SurveyResults": [
                {
                    "result": {
                        "name": "blau",
                        "email": "mail",
                        "birthdate": "01.02.1990"
                    }
                }
            ]
        },    
      ]
    },
这是我需要的JSON格式:

{
        "transaction": [
            PAD{
                "PAPPS286": "Tes",
                "Nachname": "Josef",
                "PADPS60": null,
                "MH":  {
                            "name": "blau",
                            "email": "mail",
                            "birthdate": "01.02.1990"

            },
            PAD{
                "PAPPS286": "Dampf",
                "Nachname": "Hans",
                "PADPS60": null,
                "MH":  {
                            "name": "blau",
                            "email": "mail",
                            "birthdate": "01.02.1990"
                        }

            },    
          ]
        },
也许有一种方法可以在我得到JSON后修改它。但是我不知道这是怎么回事。

下面的地图就是我想你要找的。您可能需要修改它,尤其是在基于键访问所需变量的情况下。t、 PAPPS286和t.PADPS60

此外,我只获取了第一次调查结果SurveyResults。如果没有或超过1个,则不确定您想要什么

var obj={ 交易:[{ PAPPS286:Tes, 纳克纳姆:约瑟夫, PADPS60:null, 调查结果:[{ 结果:{ 姓名:布劳, 电邮:mail,, 出生日期:1990年2月1日 } }] }, { PAPPS286:Dampf, 纳克纳姆:汉斯, PADPS60:null, 调查结果:[{ 结果:{ 姓名:布劳, 电邮:mail,, 出生日期:1990年2月1日 } }] }, ] } obj.transaction=obj.transaction.mapt=>{ 返回Object.assign{ PAPPS286:t.PAPPS286, 纳克纳姆:t.纳克纳姆, PADPS60:t.PADPS60, MH:{ 名称:t.SurveyResults[0]。结果。名称, 电子邮件:t.SurveyResults[0]。结果。电子邮件, 出生日期:t.SurveyResults[0]。结果。出生日期 } } }
console.logobj;也许循环遍历函数json结果中的每个数据,并将其格式化为一个新的json对象,然后将其添加到json数组中。您只需获取该函数的输出,即一个简单的json,然后根据需要对其进行修改。您可以使用map函数,您已经在使用它来获取results的JSON值。您需要的JSON的第二个代码位不是有效的JSON。PAD是什么?它来自哪里?那应该是钥匙吗?