在NodeJS中格式化JSON输出

时间:2014-10-17 11:38:50

标签: javascript json node.js

我有这段代码负责查询数据库并以JSON格式输出信息:

connectionpool.getConnection(function(err, connection) {
    if (err) {
        console.error('CONNECTION error: ',err);
        res.statusCode = 503;
        res.send({
            result: 'error',
            err: err.code
        });
    } else {
        connection.query(query, function(err, rows) {
            if (err) {
                console.error(err);
                res.statusCode = 500;
                res.send({
                    result: 'error',
                    err: err.code
                });
            } else {
                res.send({
                    json: rows
                });
            }
            connection.release();
        });
    }
});

输出如下:

{"json":[{"id":39937,"transcript_alias":"AC148152.3_FGT007","expression":0,"tissue":"Leaf","conditions":"No-stress"},{"id":39941,"transcript_alias":"AC155352.2_FGT012","expression":0.217,"tissue":"Leaf","conditions":"No-stress"}]}

但我希望得到这个输出:

{"json":[
    {"id":39937,
      "transcript_alias":"AC148152.3_FGT007",
      "expression":0,
      "tissue":"Leaf",
      "conditions":"No-stress"},
    {"id":39941,
     "transcript_alias":"AC155352.2_FGT012",
     "expression":0.217,
     "tissue":"Leaf",
     "conditions":"No-stress"
    }
]}

带有断线,使其更加明显和易懂。这可能吗?

1 个答案:

答案 0 :(得分:0)

查看 MDN Documentation

  

JSON.stringify(value [,replacer [,space]])

您可以看到stringify函数有第三个参数,称为空格,这会导致生成的字符串打印得很漂亮。

您可以使用制表符来模仿标准的漂亮外观:

JSON.stringify({ first: 1, second: 2 }, null, '\t')
// returns the string:
// '{           
//     "first": 1,
//     "second": 2
// }'