使用Express.js动态更改JSON间距
我知道您可以将Express配置为输出漂亮的JSON(使用Express.js动态更改JSON间距,json,node.js,express,Json,Node.js,Express,我知道您可以将Express配置为输出漂亮的JSON(app.set(“JSON spaces”,2))或缩小的JSON(app.set(“JSON spaces”,0)),但有没有办法在特定响应上覆盖此全局设置 例如,如果我将json空格设置为0,我可以执行如下操作: app.get("/foo", function(req,res) { res.json({"a":"b"}, 2); }); 谢谢 一个简单的方法是自己使用res.send并格式化JSON: app.get("/foo
app.set(“JSON spaces”,2)
)或缩小的JSON(app.set(“JSON spaces”,0)
),但有没有办法在特定响应上覆盖此全局设置
例如,如果我将json空格
设置为0
,我可以执行如下操作:
app.get("/foo", function(req,res) {
res.json({"a":"b"}, 2);
});
谢谢 一个简单的方法是自己使用res.send并格式化JSON:
app.get("/foo", function(req,res) {
res.send(JSON.stringify({"a":"b"}, null, 2));
});
MDN有更多关于的文档。一种简单的方法是使用res.send并自己格式化JSON:
app.get("/foo", function(req,res) {
res.send(JSON.stringify({"a":"b"}, null, 2));
});
MDN有更多关于的文档,谢谢您的回答!根据你的答案,我不得不做一个修改,让它正常工作:
app.get("/foo", function(req, res) {
res
.set("Content-type", "application/json; charset=utf-8")
.send(JSON.stringify({"a":"b"}, null, 2));
});
我最终创建了一个函数
sendprity(res,data)
,以实现可重用性 谢谢你的回答!根据你的答案,我不得不做一个修改,让它正常工作:
app.get("/foo", function(req, res) {
res
.set("Content-type", "application/json; charset=utf-8")
.send(JSON.stringify({"a":"b"}, null, 2));
});
我最终创建了一个函数
sendprity(res,data)
,以实现可重用性 无论出于什么原因,Stringify都不适合我。但是设置json空间
确实有效
app.set('json spaces', 2);
app.get("*", async (request, response) => {
...
response.json(m);
}
谢谢你的提示。无论出于什么原因,Stringify都不适合我。但是设置
json空间
确实有效
app.set('json spaces', 2);
app.get("*", async (request, response) => {
...
response.json(m);
}
感谢您提供的提示。如果您使用的是
.json()
,则不需要键入('application/json')。谢谢,@EtienneMartin。如果您使用的是.json()
,则不需要.type('application/json')
。已修复。谢谢你,马丁。