我正在尝试使用MS SQL 2016返回包含表中所有信息的JSON对象数组。由于某种原因,单个查询返回包含我查询的记录集数组,两次。
var sql = require('mssql/msnodesqlv8');
var config = {
driver: 'msnodesqlv8',
connectionString: 'Driver={SQL Server Native Client 11.0};Server={localhost};Database={DB};Trusted_Connection={yes};',
parseJSON: true
}
router.get('/personnel', function (req, res) {
sql.connect(config, err => {
if (err) {
res.status(500).send('Error connecting to database. Error: ' + err.stack);
}
else {
new sql.Request().query('select * from JCE_Personnel for json auto', (err, result) => {
if(err) {
res.status(500).send('Error making sql request: ' + err.stack);
}
else {
res.status(200).send(result);
}
})
}
})
})
我的回答是这样的,省略了隐私数据。
{
"recordsets": [
[
[
{
/* Data */
},...
]
]
],
"recordset": [
[
{
/* Data - dup of above */
},...
]
],
"output": {},
"rowsAffected":[]
}
我认为应该只获得一个包含我表中每一行的JSON对象数组的记录集,但绝对不是这样。
答案 0 :(得分:0)
您可以使用window.decorView.rootView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS)
来执行JSON反序列化并在后台调用Send来返回结果,而不是反序列化响应然后再调用res.Send(result)
。
仅返回记录集调用res.json(result)