Microsoft.AspNetCore.Mvc
命名空间中有两个类:
ObjectResult
和JsonResult
。
两者都以JSON格式转换返回的对象。
它们之间的区别是什么?使用它们的目的是什么?
答案 0 :(得分:36)
JsonResult
是IActionResult
,它将给定对象格式化为JSON
ObjectResult
是内置内容协商的IActionResult
。
在负责写入响应流的ExecuteResultAsync
内部,框架将遍历可用的格式化程序并选择相关的格式化程序。
选择格式化程序的逻辑类似于ASP.NET Web API中的逻辑,并基于以下优先顺序:
OkObjectResult类
执行时
Microsoft.AspNetCore.Mvc.ObjectResult
执行 内容协商,格式化实体主体,并将产生一个Microsoft.AspNetCore.Http.StatusCodes.Status200OK
回复如果 谈判和格式化成功。
参考文献: