我有一个使用.NET7的Web服务.当我从数据库中获取数据并将其作为JSON发送时,类Items的第一个字母将以小写形式发送.

为了解释这个问题,我编写了一个测试Web服务

TestClass.cs

    public class testClass
    {
        public String Date1 { get; set; }
        public String Date2 { get; set; }

        public testClass(string date1, string date2)
        {
            Date1 = date1;
            Date2 = date2;
        }
    }

和我的API:

    [HttpGet(Name = "test")]
    public testClass Get()
    {
        return (new testClass("d1", "d2"));

    }

结果是:

{
  "date1": "d1",
  "date2": "d2"
}

但我希望结果如下:

{
  "Date1": "d1",
  "Date2": "d2"
}

推荐答案

JsonSerializerOptions的默认模式是camel-casing(第一个单词以小写字母开头,大写字母出现在第二个单词的开头以及后面的每个新的后续单词处).

您可以在此链接中获取更多信息: JsonSerializerOptions.PropertyNamingPolicy

您只需将以下配置添加到Program.cs即可:

builder.Services.AddControllers()
        .AddJsonOptions(options =>
        {
             options.JsonSerializerOptions.PropertyNamingPolicy = null;
        });

Csharp相关问答推荐

如何从顶部提取发票号作为单词发票后的第一个匹配

使用yaml将Azure函数代码部署到FunctionApp插槽时出现问题(zip未找到)

如何保持主摄像头视角保持一致?

NumPy s fftn in C#with pythonnet'

为什么任务需要在内部使用ManualResetEventSlim?

在允许溢出的情况下将小数转换为长

在静态模式下实例化配置

Blazor在FluentButton onClick事件上设置参数

调用Task.Run()与DoSomethingAsync()有什么不同?

我如何让我的秒表保持运行场景而不重置

如何向事件添加成员

EF核心区分大小写的主键

在字符串C#之前获取数字

使用System.Text.Json进行序列化时发生StackOverflow异常

Azure函数-在外部启动类中生成配置时出错

为什么我不能从我的异步任务方法中返回异步任务方法?

MSI无法将快捷方式添加到启动文件夹

如何消除Visual Studio错误,因为它不识别集合表达式的新C#12语法?

如何处理ASP.NET Core中包含两个构造函数的控制器?

如何获取我在SQL中输入的值