c# - Asp Core 3 预览版 4 - JSON 驼峰格式

标签 c# asp.net .net-core

将 ASP.Core API 从 2.2 迁移到 3.0 后,我发现使用 JSON 序列化时返回 DTO 的方式有些奇怪。

最初,我的所有回复都会以驼峰形式返回。然而,现在一切都设置为 PascalCase。

我已尝试设置以下内容以及 DefaultPropertyNamesContractResolver。:

services.AddMvc()
        .AddNewtonsoftJson(options =>
        {
             // Return JSON responses in LowerCase?
             options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

             // Resolve Looping navigation properties
             options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
        });

这就是 Controller 返回对象的方式。

// GET: api/Projects
[HttpGet]
public async Task<IEnumerable<Project>> GetProjects()
{
    return await _context.GetAll();
}

这很奇怪,即使 Swagger 报告结果应该以驼峰命名法返回,但 JSON 对象在 Pascal 中总是大写。

知道我做错了什么吗?

最佳答案

我在项目中使用了 Swashbuckle,它引用了该包中的 NewtonJson 依赖项,而不是引用了 Microsoft Newton 包。

关于c# - Asp Core 3 预览版 4 - JSON 驼峰格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55879544/

相关文章:

c# - 如何从 wix 安装具有 .NET Core 运行时先决条件的网络核心应用程序

c# - 当前服务的名称,以防同一个 exe 被设置为多个服务

c# - 覆盖 SaveChanges 并删除 EF 关系时为 null

c# - 停止双重回发

c# - 调用 c# 方法的 JQuery 代码不起作用

c# - 如何在 IBM MQ .on Net Core 平台上使用回退和提交

c# - Winform 消息框,如何禁用 C# 中的 YESNO 选项

c# - 如何避免在设计时紧密绑定(bind)的用户控件中重置属性?

c# - NHibernate MySQL 枚举

.NET Core : What does MethodImplOptions. Aggressive Optimization 到底做了什么?