gpt4 book ai didi

javascript - Node MySQL - 发送前编辑响应

转载 作者:行者123 更新时间:2023-11-29 05:59:28 24 4
gpt4 key购买 nike

我正在使用 NodeMySQL。我像这样从 Node 中的 MySQL 中提取数据:

app.get('/getposts', (req, res) => {
connection.query("SELECT * FROM posts", function(err, rows, fields){
if(err){
console.log(err);
}
else if(rows.length) {
res.send(rows) // <= Edit this res before sending.
}
else {
res.send('No Posts')
}
});
});

我收到以下回复:

[
{id:1, name:'post1', desc: 'post1 desc' },
{id:2, name:'post2', desc: 'post2 desc' },
{id:3, name:'post3', desc: 'post3 desc' }
]

我想在发送前编辑回复。我希望 idkeyvaluepost。对于 1,我想要 1:{id:1, name:'post1', desc: 'post1 desc'}。所以整个响应应该是这样的:

[
1: {id:1, name:'post1', desc: 'post1 desc' },
2: {id:2, name:'post2', desc: 'post2 desc' },
3: {id:3, name:'post3', desc: 'post3 desc' }
]

我怎样才能做到这一点?非常感谢。

最佳答案

你需要这样的东西,

var jsonObj = [
{id:1, name:'post1', desc: 'post1 desc' },
{id:2, name:'post2', desc: 'post2 desc' },
{id:3, name:'post3', desc: 'post3 desc' }
];

var keyArr = [];

for(var index in jsonObj){
var obj = {};
obj[jsonObj[index].id] = jsonObj[index];
keyArr.push(obj);

}

console.log(keyArr);

附言:这不是有效的 json 或数组

[
1: {id:1, name:'post1', desc: 'post1 desc' },
2: {id:2, name:'post2', desc: 'post2 desc' },
3: {id:3, name:'post3', desc: 'post3 desc' }
]

最好的选择是,

[ { '1': { id: 1, name: 'post1', desc: 'post1 desc' } },
{ '2': { id: 2, name: 'post2', desc: 'post2 desc' } },
{ '3': { id: 3, name: 'post3', desc: 'post3 desc' } } ]

关于javascript - Node MySQL - 发送前编辑响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46260326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com