在我的节点应用程序中,我正在使用mysql。我从mysql中检索数据并将每一行转换为json(工作正常)。但我的要求是我必须打印带有值的字段,否则不要。
考虑: 我的sql结果..
level0:"xxxxxx" level1:"fffffff" level3:"btggtgt" level:""
现在我得到的json是:
[
{
level0="xxxxxxx",
level1="fffffff",
level3="btggtgt".
level4=""
}
]
但我需要输出为:
[
{
level0="xxxxxxx",
level1="fffffff",
level3="btggtgt"
}
]
我必须省略level4,因为它的值为“”(空)。
我的代码是:
connection.query("select * from levels where level0 = '" + level0 + "' and level1 = '"+level1+"' and level2 = ''", function(err, row1, fields) {
res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(JSON.stringify(row1,null,"\n"));
});
var query5result;
querylevel5(function(result5)
{
for (var level in result5)
{
console.log("ssssssss="+util.inspect(result5[level]))
if (result5[level] == null || result5[level] == '')
{
delete result5[level];
}
}
query5result=result5;
帮我解决这个问题..提前谢谢..
答案 0 :(得分:0)
这是循环和删除此空白级别的方法
connection.query("select * from levels where level0 = '" + level0 + "' and level1 = '"+level1+"' and level2 = ''", function(err, row1, fields) {
for (var level in row1)
{
if (row1[level] == null || row1[level] == "")
{
delete row1[level];
}
}
)};
//...then go on:
res.end(JSON.stringify(row1,null,"\n"));