如何在nodejs中返回格式化的JSON对象

时间:2013-08-07 18:03:42

标签: javascript json node.js httpserver

我正在制作以下nodejs服务器

var http = require('http');
var port = 1337;
http.createServer(function(req, res) {
    var statusList = {
      "hasErrors": false,
      "list" : [
        { "id": "spec1",
          "name": "retrieve blog info"
        },
        { "id": "spec2",
          "name": "Retrieve a Blog Avatar"
        },
        { "id": "spec3",
          "name": "Retrieve Blog's Likes"
        },
        { "id": "spec4",
          "name": "Retrieve a Blog's Followers"
        }
      ],
      "totalRecords": 4
    };
    console.log(req);
    console.log(statusList);
    res.writeHead(200, { 'Content-Type': 'application/json', "Access-Control-Allow-Origin":"*" });
    res.write(JSON.stringify(statusList));
    res.end();
}).listen(port);

但这只是在浏览器页面上显示statusList而没有任何格式(只是一个没有任何空格或输入的字符串)。我想在浏览器中看到结构化格式json,以便它清晰可见。

我也不想在浏览器上安装任何类型的插件。

另请注意,如果我删除JSON.stringify()并将对象statusList作为res.write(statusList);返回,则会收到错误:'first argument must be a string or buffer'

1 个答案:

答案 0 :(得分:7)

试试这个:

JSON.stringify(statusList, 0, 4);

相反。