ObjectResult和JsonResult有什么区别

时间:2016-08-05 11:51:01

标签: json asp.net-core asp.net-core-mvc

Microsoft.AspNetCore.Mvc命名空间中有两个类:

ObjectResultJsonResult

两者都以JSON格式转换返回的对象。

它们之间的区别是什么?使用它们的目的是什么?

1 个答案:

答案 0 :(得分:36)

JsonResultIActionResult,它将给定对象格式化为JSON

ObjectResult是内置内容协商的IActionResult

在负责写入响应流的ExecuteResultAsync内部,框架将遍历可用的格式化程序并选择相关的格式化程序。

选择格式化程序的逻辑类似于ASP.NET Web API中的逻辑,并基于以下优先顺序:

  • 接受标题
  • 内容类型标题
  • 基于类型匹配的选择

OkObjectResult类

  

执行时Microsoft.AspNetCore.Mvc.ObjectResult执行   内容协商,格式化实体主体,并将产生一个   Microsoft.AspNetCore.Http.StatusCodes.Status200OK回复如果   谈判和格式化成功。

参考文献: