gpt4 book ai didi

c# - 从一个 Action 中按原样返回 JSON (PascalCase)

转载 作者:行者123 更新时间:2023-12-04 09:28:28 25 4
gpt4 key购买 nike

在 asp.net core 3 中,返回的 json 将自动转换为驼峰命名法,我知道如何在全局范围内关闭它,但我如何为单个操作关闭它?我知道它应该是这样的

return Json(myObj, cfgHere); 

但在任何地方都找不到这个例子

最佳答案

Json方法是 Controller 的一部分,但不是 ControllerBase 的一部分。如果您正在使用 ControllerBase,这对于不使用 View 的 Controller 来说是典型的,您可以新建一个 JsonResult 并返回它:

return new JsonResult(myObj, cfgHere);

这就是 Controller.Json 方法真正做的所有事情,如 source 中所示:

public virtual JsonResult Json(object data, object serializerSettings)
{
return new JsonResult(data, serializerSettings);
}

serializerSettings 可以是 JsonSerializerOptionsJsonSerializerSettings (如果您使用的是 Json.NET)。下面是一个示例,假设您使用的是默认的、基于 System.Text.Json 的格式化程序:

return new JsonResult(myObj, new JsonSerializerOptions());

通过在不设置任何属性的情况下创建 JsonSerializerOptions 实例,PropertyNamingPolicy保留为默认 策略,这会保留属性名称。

如果您想使用支持内容协商的更具声明性的方法,请参阅:Change the JSON serialization settings of a single ASP.NET Core controller .

关于c# - 从一个 Action 中按原样返回 JSON (PascalCase),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62934362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com