![](/img/trans.png)
[英]How can I return the numeric value of a React container instead of an object?
[英]How can I return an object instead of an array?
我试图返回一个 JSON 对象,但它返回一个数组。 我使用主键进行查询,所以我确信我只会得到一个结果。
这是我的方法:
router.get("/student_info/:id", (req, res, next) => {
connection.getConnection((error, currentConnection) => {
if (!!error) {
console.log("Error occurred while connecting db")
} else {
let id = req.params.id;
currentConnection.query("SELECT * FROM students WHERE id=" + "'" + id + "'", (error, rows, fields) => {
if (!!error) {
console.log(error.message)
} else {
res.status(200).json(rows);
}
currentConnection.release();
});
}
});
});
我想要的是这个:
{
"id": "171-15-8966",
"name": "Alif Hasnain",
"course_code": "CSE412,CSE413"
}
但我得到这样的结果:
[
{
"id": "171-15-8966",
"name": "Alif Hasnain",
"course_code": "CSE412,CSE413"
}
]
只需在 json 转换之前获取数组的第一个元素:
res.status(200).json(rows[0]);
默认情况下,查询返回选择查询所反映的行数组。 由于您的查询具有单个结果,因此它作为单个对象的数组返回给用户。
您可以将其更改为
res.status(200).json(rows[0]);
如果有更好的替代品,请告诉我们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.