该响应也是一个字符串,如果您想发送美化的响应,出于某种尴尬的原因,您可以使用类似的东西JSON.stringify(anObject, null, 3)
重要的是您设置Content-Type
标头至application/json
, too.
var http = require('http');
var app = http.createServer(function(req,res){
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({ a: 1 }));
});
app.listen(3000);
// > {"a":1}
美化:
var http = require('http');
var app = http.createServer(function(req,res){
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({ a: 1 }, null, 3));
});
app.listen(3000);
// > {
// > "a": 1
// > }
我不太确定为什么你想用换行符终止它,但你可以这样做JSON.stringify(...) + '\n'
为了实现这一点。
Express
在快递中,您可以通过以下方式执行此操作改为更改选项 http://expressjs.com/3x/api.html.
'json replacer'
JSON替换回调,默认为null
'json spaces'
用于格式化的 JSON 响应空间,开发中默认为 2,生产中默认为 0
实际上不建议设置为 40
app.set('json spaces', 40);
然后你可以用一些 json 来响应。
res.json({ a: 1 });
它将使用'json spaces
' 配置来美化它。