Mysql 从sequelize获得响应后修改JSON
我从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(
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是什么?它来自哪里?那应该是钥匙吗?