【发布时间】:2018-01-09 20:47:44
【问题描述】:
我看到从 Node 中的 mssql 返回的 JSON 中的所有数据行重复了两次:
{
"recordsets": [[{
"student_firstname": "Jonah ",
"student_lastname": "Hill "
}, {
"student_firstname": "Debra ",
"student_lastname": "Smith "
}
]],
"recordset": [{
"student_firstname": "Jonah ",
"student_lastname": "Hill "
}, {
"student_firstname": "Debra ",
"student_lastname": "Smith "
}
],
"output": {},
"rowsAffected": [2]
}
我暂时更改了查询以获取两行,以查看是否所有行都重复,正如您在上面看到的那样。
function getStudent(studentID)
{
console.log("---------getStudent");
sql.on('error', err => {
// ... error handler
console.log("DB Error2: " + err);
})
return sql.connect(config).then(pool => {
// Query
return pool.request()
.input('input_parameter', sql.Int, studentID)
//.query('select student_firstname, student_lastname from students where student_id = @input_parameter')
.query('select student_firstname, student_lastname from students where student_id in (31,32)')
}).then(function(result) {
console.log("getStudent:then(result=>");
console.dir(result);
sql.close();
return result;
})
.catch(err => {
// ... error checks
console.log("DB Error1: " + err);
sql.close();
throw err;
})
}
上述函数在返回 JSON 的 app.get 语句中调用。
console.dir(result) 显示与上面的 JSON 相同,除了在第一行显示“[Object]:。所以我认为它不会进一步包装 JSON。
{ recordsets: [ [ [Object], [Object] ] ],
recordset:
[ { student_firstname: 'Jonah ',
student_lastname: 'Hill ' },
{ student_firstname: 'Debra ',
student_lastname: 'Smith ' } ],
output: {},
rowsAffected: [ 2 ] }
我可以处理这样的数据,但它会浪费带宽。
【问题讨论】:
标签: sql-server json node.js