我正在编写一个小的CRUD应用程序,我想对我得到的JSON响应进行一些格式化(主要是为了便于阅读)。
我错过了什么环境吗?
发布于 2015-07-01 22:00:25
在深入了解了API文档(RTFM,对吗?)之后,我发现了实际的设置,它支持我所寻找的行为。
server.connection({
port: 3000,
routes: {
json: {
space: 4
}
}
});虽然Chrome扩展是一个很好的解决方案,但这将适用于其他浏览器。
发布于 2015-07-01 09:54:46
我不建议强制您的API使用者使用漂亮的JSON格式。如果您想以一种很好的格式查看JSON,我建议安装Chrome JSON格式化插件或使用类似于邮递员的东西。
发布于 2022-07-07 18:22:03
如果您想基于查询param或头动态应用漂亮的JSON格式,可以使用以下代码(在v20.2.2中进行了测试):
srv.ext('onPreResponse', (req : Request, h : ResponseToolkit) => {
const { response } : any = req;
if (req.query._pretty) {
response.spaces(2).takeover();
}
return h.continue;
});例如,如果使用类似于参数的_pretty调用任何方法:
curl -XGET http://localhost:3003/api/foo?_pretty=1你会得到这样的回应:
{
"id": 1253,
"name": "Everything OK"
}但如果你不加这句话:
curl -XGET http://localhost:3003/api/foo然后,JSON输出被折叠:
{"id":1253,"name":"Everything OK"}参数的名称可能是应用程序中不使用的任何东西,因此添加一个前缀(如_或其他什么),您也可以使用特定的标题,而不是查询参数(如果您愿意的话)。
https://stackoverflow.com/questions/31150179
复制相似问题