【发布时间】:2016-12-11 19:54:19
【问题描述】:
Microsoft.AspNetCore.Mvc 命名空间中有两个类:
ObjectResult 和 JsonResult。
两者都将返回的对象转换为 JSON 格式。
它们有什么区别,使用它们的目的是什么?
【问题讨论】:
标签: json asp.net-core .net-core asp.net-core-mvc
Microsoft.AspNetCore.Mvc 命名空间中有两个类:
ObjectResult 和 JsonResult。
两者都将返回的对象转换为 JSON 格式。
它们有什么区别,使用它们的目的是什么?
【问题讨论】:
标签: json asp.net-core .net-core asp.net-core-mvc
JsonResult 是一个IActionResult,它将给定对象格式化为 JSON
ObjectResult 是一个内置内容协商的IActionResult。
在其负责写入响应流的ExecuteResultAsync 中,框架将遍历可用的格式化程序并选择一个相关的。
选择格式化程序的逻辑与 ASP.NET Web API 中的类似,并且基于以下优先顺序:
OkObjectResult 类
一个
Microsoft.AspNetCore.Mvc.ObjectResult在执行时执行 内容协商,格式化实体主体,并生成一个Microsoft.AspNetCore.Http.StatusCodes.Status200OK回复如果 协商和格式化成功。
参考资料:
【讨论】:
JsonResult。如果您希望 api 更灵活并允许返回不同的格式,那么ObjectResult 将允许内容协商。