在asp.net core 3中,返回的json将自动转换为camelCase,我知道如何在全局范围内将其关闭,但是如何通过一项操作将其关闭?我知道应该是这样的
return Json(myObj, cfgHere);
但在任何地方都找不到这个例子
该Json
方法是的一部分Controller
,但不是的一部分ControllerBase
。如果您正在使用ControllerBase
,这对于不使用视图的控制器来说很典型,那么您可以新建一个JsonResult
并返回:
return new JsonResult(myObj, cfgHere);
这是Controller.Json
方法真正执行的所有操作,如在源代码中所示:
public virtual JsonResult Json(object data, object serializerSettings) { return new JsonResult(data, serializerSettings); }
serializerSettings
可以是JsonSerializerOptions
或JsonSerializerSettings
(如果您使用的是Json.NET)。这是一个示例,假定您使用的是默认System.Text.Json
的-formatter:
return new JsonResult(myObj, new JsonSerializerOptions());
通过创建JsonSerializerOptions
不设置任何属性的实例,该PropertyNamingPolicy
保留为默认策略,该属性名称保持不变。
如果您想使用支持内容协商的更具声明性的方法,请参见:更改单个ASP.NET Core控制器的JSON序列化设置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句