return JSON 原样 (PascalCase) 来自一个 Action
return JSON as is (PascalCase) from one Action
在 asp.net 核心 3 中,返回的 json 将自动转换为驼峰式大小写,我知道如何在全局范围内关闭它,但如何通过一个动作关闭它?
我知道应该是这样的
return Json(myObj, cfgHere);
但在任何地方都找不到这个例子
Json
方法是 Controller
的一部分,但不是 ControllerBase
的一部分。如果您正在使用 ControllerBase
,这对于不使用视图的控制器来说是典型的,您可以新建一个 JsonResult
和 return,即:
return new JsonResult(myObj, cfgHere);
这就是 Controller.Json
方法真正做的所有事情,如 source:
中所示
public virtual JsonResult Json(object data, object serializerSettings)
{
return new JsonResult(data, serializerSettings);
}
serializerSettings
可以是 JsonSerializerOptions
or JsonSerializerSettings
(如果您使用的是 Json.NET)。这是一个假设您使用默认的、基于 System.Text.Json
的格式化程序的示例:
return new JsonResult(myObj, new JsonSerializerOptions());
通过在不设置任何属性的情况下创建 JsonSerializerOptions
的实例,PropertyNamingPolicy
保留为 default 策略,从而保留 属性 原样命名。
如果您想使用支持内容协商的更具声明性的方法,请参阅:。
在 asp.net 核心 3 中,返回的 json 将自动转换为驼峰式大小写,我知道如何在全局范围内关闭它,但如何通过一个动作关闭它? 我知道应该是这样的
return Json(myObj, cfgHere);
但在任何地方都找不到这个例子
Json
方法是 Controller
的一部分,但不是 ControllerBase
的一部分。如果您正在使用 ControllerBase
,这对于不使用视图的控制器来说是典型的,您可以新建一个 JsonResult
和 return,即:
return new JsonResult(myObj, cfgHere);
这就是 Controller.Json
方法真正做的所有事情,如 source:
public virtual JsonResult Json(object data, object serializerSettings) { return new JsonResult(data, serializerSettings); }
serializerSettings
可以是 JsonSerializerOptions
or JsonSerializerSettings
(如果您使用的是 Json.NET)。这是一个假设您使用默认的、基于 System.Text.Json
的格式化程序的示例:
return new JsonResult(myObj, new JsonSerializerOptions());
通过在不设置任何属性的情况下创建 JsonSerializerOptions
的实例,PropertyNamingPolicy
保留为 default 策略,从而保留 属性 原样命名。
如果您想使用支持内容协商的更具声明性的方法,请参阅: