正在尝试使用驱动程序通过Node从sql server 2008中获取数据。我以某种方式可以成功获取数据。我的问题是如何以Json格式显示它。
我的代码是这样的:
execSql("select * from tblStudent", function (err,rows) {
console.log("City_StrCode:" + rows[0].value);
console.log("State_StrCode:" + rows[1].value);
console.log("City_StrName:" + rows[2].value);
});
现在,查询数据库后我的结果是这样的:
City_StrCode:0005
State_StrCode:ORS
City_StrName:Ratnagiri12
City_StrCode:1002
State_StrCode:78899
City_StrName:thousandtwo
City_StrCode:1010
State_StrCode:1001
City_StrName:U FOOL34
Status:true
City_StrCode:105
State_StrCode:001
City_StrName:dgrt12
City_StrCode:1789
State_StrCode:001
City_StrName:XZAS12
给我一些建议...
最佳答案
JSON stringify具有用于修饰和缩进的arg。这将打印并缩进每个2级空格。
console.log(JSON.stringify(myObject, null, 2);
所以这:
var obj = ['one', 'two', {a:1, b:2}];
console.log(JSON.stringify(obj, null, 2));
输出:
[
"one",
"two",
{
"a": 1,
"b": 2
}
]
如果原始对象包含的数据超出了您的期望,或者您希望具有选择性,或者您希望控制如何构建要输出的JSON obj,则可以将数据复制到新对象中,然后漂亮地打印出来。还请注意,您的SQL结果集是平坦的,因此在循环时进行修改可以将其构建到对象中。就像是 ...
execSql("select * from tblStudent", function (err,rows) {
for (i=0; i<rows.length; i++) {
var output;
var fieldNum = i % 3;
switch (fieldNum){
case 0:
output = {};
output.cityCode = rows[i].value;
break;
case 1:
output.stateCode = rows[i].value;
break;
case 2:
output.stateName = rows[i].value;
console.log(output, null, 2);
break;
}
}
});
关于javascript - 如何在 Node 中以json格式显示行内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17189803/