ObjectResult和JsonResult有什么区别

hcp*_*hcp 28 json asp.net-core-mvc .net-core asp.net-core

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

ObjectResultJsonResult.

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

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

Nko*_*osi 45

JsonResult是一个IActionResult将给定对象格式化为JSON的

ObjectResult是一个IActionResult内置内容协商的.

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

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

  • 接受标题
  • Content-Type标头
  • 基于类型匹配的选择

OkObjectResult类

一个Microsoft.AspNetCore.Mvc.ObjectResult在执行时进行协商的内容,形式的实体主体,并会产生一个 Microsoft.AspNetCore.Http.StatusCodes.Status200OK响应,如果谈判和格式化成功.

参考文献:

  • 我想这是一个偏好问题.JsonResult允许您在没有太多工作的情况下限制内容类型. (2认同)