Mar*_*mro 28 c# asp.net json.net asp.net-core asp.net-core-webapi
如何配置ASP.NET Core Web Api控制器只返回Development环境相当格式化的json ?
默认情况下,它返回如下内容:
{"id":1,"code":"4315"}
Run Code Online (Sandbox Code Playgroud)
我希望在响应中有缩进以便于阅读:
{
"id": 1,
"code": "4315"
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*idG 58
在您的Startup.cs文件中,调用AddJsonOptions扩展名:
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.Formatting = Formatting.Indented;
});
Run Code Online (Sandbox Code Playgroud)
至于根据环境切换选项,这个答案应该有所帮助.
loa*_*ger 10
在 .NetCore 3+ 中,您可以按如下方式实现:
services.AddMvc()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.WriteIndented = true;
});
Run Code Online (Sandbox Code Playgroud)
如果要为单个控制器而不是为所有JSON启用此选项,则可以让您的控制器返回JsonResult并通过像这样构造JsonResult时传递Formatting.Indented:
return new JsonResult(myResponseObject) { SerializerSettings = new JsonSerializerSettings() { Formatting = Formatting.Indented } };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14464 次 |
| 最近记录: |