如何在 JSON 响应 ASP.NET Core 中关闭或处理驼峰命名法?

2023-11-25

我正在学习有关 ASP.NET Core/Web API/Angular 2 的 WintellectNOW 课程。我已经实现了 API 部分,但无论出于何种原因,返回的 JSON 的变量名称都是小写的。

返回的 JSON 格式如下...

[
 {"id":1,"name":"Bowler","color":"black","count":1},
 {"id":2,"name":"Fedora","color":"red","count":1},
 {"id":3,"name":"Baseball Cap","color":"blue","count":3}
]

我期待着...

[
 {"Id":1,"Name":"Bowler","Color":"black","Count":1},
 {"Id":2,"Name":"Fedora","Color":"red","Count":1},
 {"Id":3,"Name":"Baseball Cap","Color":"blue","Count":3}
]

基于 C# 模型...

namespace HatCollection.Models
{
    public class Hat
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Color { get; set; }
        public int Count { get; set; }
    }
}

我什至用[DataMember(Name = "Id")]只是为了确定一下,但这仍然不重要。

偶尔,它与控制器中的操作和实例变量相关......

private static readonly List<Hat> MyHats = new List<Hat>
{
    new Hat {Id = 1, Name = "Bowler", Color = "black", Count = 1 },
    new Hat {Id = 2, Name = "Fedora", Color = "red", Count = 1 },
    new Hat {Id = 3, Name = "Baseball Cap", Color = "blue", Count = 3 }
};

[HttpGet]
public IEnumerable<Hat> Get()
{
    return MyHats;
}

如何关闭驼峰命名功能,以便 ASP.NET Core 返回属性名称而不更改它们?


在 Asp.Net Core 3.0 中,有些事情发生了变化。对于驼峰命名法,不做任何开箱即用的事情。用于 PascalCase 或其他设置样式的使用。

services.AddMvc(setupAction=> {
            setupAction.EnableEndpointRouting = false;
        }).AddJsonOptions(jsonOptions =>
        {
            jsonOptions.JsonSerializerOptions.PropertyNamingPolicy = null;
        })
        .SetCompatibilityVersion(CompatibilityVersion.Version_3_0);

在 Startup.cs 配置服务部分

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JSON 响应 ASP.NET Core 中关闭或处理驼峰命名法? 的相关文章

  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • Task.Run 作为反模式?

    我正在将 SQLite NET PCL 库用于我的 WinRT 项目SQliteAsyncConnection类 它提供经典的异步版本SQLiteConnection方法 然而 就该项目而言Github页面 https github com
  • 如何在 C# Designer.cs 代码中使用常量字符串?

    如何在 designer cs 文件中引用常量字符串 一个直接的答案是在我的 cs 文件中创建一个私有字符串变量 然后编辑 Designer cs 文件以使用此变量 而不是对字符串进行硬编码 但设计者不喜欢这样抛出错误 我明白为什么这行不通
  • SecurityAction.RequestMinimum 在 .Net 4.0 中已过时

    最近 我们的 Net 客户端库正在升级以针对 Net 4 0 进行编译 将目标框架更改为4 0后 应用程序出现一些编译错误 In AssemblyInfo cs assembly SecurityPermission SecurityAct
  • 假装 .NET 字符串是值类型

    在 NET 中 字符串是不可变的 并且是引用类型变量 这通常会让新的 NET 开发人员感到惊讶 因为他们的行为可能会将它们误认为是值类型对象 然而 除了使用实践StringBuilder对于长连接 尤其是 在循环中 在实践中是否有任何理由需
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • 在 VS 中运行时如何查看 C# 控制台程序的输出?

    我刚刚编写了一个名为 helloworld 的聪明程序 它是一个 C NET 4 5 控制台应用程序 在扭曲的嵌套逻辑迷宫深处 使用了 Console WriteLine 当我在命令行运行它时 它会运行并且我会看到输出 我可以执行其他命令并
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • Elm:如何从 JSON API 解码数据

    我有这个数据使用http jsonapi org http jsonapi org format data type prospect id 1 attributes provider user id 1 provider facebook
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • 如何在 C# 中创建异步方法?

    我读过的每一篇博客文章都会告诉您如何在 C 中使用异步方法 但由于某些奇怪的原因 从未解释如何构建您自己的异步方法来使用 所以我现在有这段代码使用我的方法 private async void button1 Click object se
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro
  • 当用户更改 Windows 中的语言键盘布局时如何通知?

    I want to show a message to user when the user changes the language keyboard layout of Windows for example from EN to FR

随机推荐

  • Android 应用程序在本地或在线存储大数据?

    第一次发帖 第一次在 Android 上工作 所以如果我违反了任何规则 请放轻松 不管怎样 我刚刚开始制作一个 Android 应用程序 我正在尝试创建一个简单的问答游戏 我计划提出很多问题 希望大约 5000 多个问题 没有进行任何数据操
  • STL C++ 中的尾后迭代器是什么?

    任何人都可以解释我的意思是什么past the end 为什么我们打电话end 函数结束后 功能begin and end 定义一个半开范围 begin end 意思是 该范围包括第一个元素但不包括最后一个元素 因此 这个名字就结束了 半开
  • 为什么 Array 不重写 Ruby 中的三等号方法?

    我刚刚注意到数组不会覆盖三重等号方法 有时称为大小写相等法 x 2 case x when 1 2 3 then match else no match end gt no match 而范围运算符的作用是 x 2 case x when
  • 芹菜中的 Django 信号

    我有一个在 Celerybeat 实例中运行的任务 当执行该任务时 它有时会修改模型对象 这应该会触发 post pre save 信号 但事实并非如此 信号没有发生 我想这是因为 Django 的信号是同步的 而 celery 正在不同宇
  • Java 接口有什么真正的意义吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Java接口实际上是如何使用的 我不是从学术流行语的角度来谈论 而是从实际开发人员的角度来谈论 举个例子 Class1 implements Interface public String metho
  • Twilio 调用在 iOS 和 Android 中的 React-Native 中不起作用

    i am trying to use twilio client in react native app here is the link Twilio repo after done all setup with react native
  • PHP 无法从 NFS 共享读取会话

    我将 PHP 会话文件存储在 NFS 共享上 问题是 PHP 总是创建一个空会话文件 但无法从中读取 写入 因此对于每个页面重新加载都会创建一个新文件 如果我将会话存储路径移动到本地文件夹 会话将正常保存 另外 我正在运行具有相同配置的另一
  • JAXB 2.1 - 自定义 xs:any 绑定

    我想使用 JAXB 2 1 XJC 从 xsd 生成 java 代码 我提供了 xsd 架构 但无法更改它 我想用xjc 简单模式 同时从 xml 模式生成 java 类 在xsd中有元素
  • 将 GTK3+ 与 py2exe 捆绑在一起

    平台是 Windows 7 64位 使用 python 2 7 和 GTK3 安装http sourceforge net projects pygobjectwin32 files source navbar exe已编译但无法运行 原因
  • 为什么 PHP 中不推荐通过引用调用函数?

    我写了以下代码
  • try 和 catch 中的对象声明未在范围内定义

    我想在 try catch 语句中声明一个对象 如下所示 try Object object value catch exception return 1 object usingExemple G 告诉我对象未在范围内定义 我确实明白 如
  • 为共享库文件(*.so)生成头文件(*.h)

    我有共享库文件 libmylib so 但没有头文件 mylib h 为了它 您知道从共享库文件生成此头文件的一些方法 工具吗 这通常是不可能的 因为 so 文件不包含有关参数列表的足够信息 特别是如果使用非标准类型 例如结构 因为类型信息
  • Android WebView err_unknown_url_scheme

    使用下面的简单代码 我可以正确加载我的网址 但是 当尝试点击以开头的 html 链接时 我收到 ERR UNKNOWN URL SCHEME mailto 微信 and tg 电报 有人可以帮我解决这个问题吗 不幸的是我根本不懂Java T
  • 如何在 Jersey 2.4 过滤器中获取资源注释?

    我的问题本质上与这个问题相同 如何在 Jersey ContainerResponseFilter 中获取资源注释 但我使用的是 Java Jersey 2 4 找不到 ResourceFilterFactory 或 ResourceFil
  • 如何让 C# 中的进程(而不是线程)同步文件系统访问

    今天早些时候 我正在调试一些类似这样的东西 class Foo void AccessCriticalSection try if IO File Exists path to lock txt throw new Exception Sy
  • 如何在flutter中使用where和orderby

    如何在flutter中使用where和orderBy 任何人都可以告诉我这些索引是如何工作的以及如何正确创建它们 Query query Firestore instance collection clients where sequenc
  • Xamarin MvvmCross Android 防止后退按钮返回到上一个视图

    我正在尝试为以下情况创建一个简洁的解决方案 我构建了一个需要凭据来验证用户身份的应用程序 每当 API 想要重新验证用户身份时 我想强制用户返回登录视图 此功能效果很好 但是当用户按下设备上的后退按钮时 会显示上一个视图 我希望看到当用户按
  • Lateinit 属性数据尚未初始化

    使用 Retrofit2 和 rxjava2 未在 Recyclerview 中设置 Gson Convertable 数据 然后通过其订阅给出错误 UninitializedPropertyAccessException lateinit
  • 如何从文本中删除所有 a href 标签

    我有一个脚本来替换 href 标签中的单词 不过 我想完全删除 a href 这样您就可以看到没有链接的 Google 一词 from BeautifulSoup import BeautifulSoup soup BeautifulSou
  • 如何在 JSON 响应 ASP.NET Core 中关闭或处理驼峰命名法?

    我正在学习有关 ASP NET Core Web API Angular 2 的 WintellectNOW 课程 我已经实现了 API 部分 但无论出于何种原因 返回的 JSON 的变量名称都是小写的 返回的 JSON 格式如下 id 1