首页 > 其他分享 >JSON 序列化 属性名 大写变成小写 保持不变 newsoft.json system.text.json

JSON 序列化 属性名 大写变成小写 保持不变 newsoft.json system.text.json

时间:2024-04-25 16:35:56浏览次数:22  
标签:text JSON json Json 序列化 options 属性

JSON序列化属性名由大写变成小写的问题

在 ASP.NET 中,默认情况下,JSON 序列化会将属性名转换为小写(camel case)以匹配 JSON 的约定。

如果您希望保留 C# 的命名约定(即属性名的大小写不变),您需要更改默认的 JSON 序列化器。

System.Text.Json

使用 System.Text.Json(推荐)

  • Startup.cs 中配置 MVC 部分,将 JsonSerializerOptions.PropertyNamingPolicy 设置为 null,以保持属性名不变:
services.AddControllers()
    .AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.PropertyNamingPolicy = null;
    });
  • 这样,您的 JSON 属性名称将保持与 C# 类中定义的一致。

Newtonsoft.Json

使用 Newtonsoft.Json(如果您仍在使用它)

  • Startup.cs 中配置 MVC 部分,以使用 Newtonsoft.Json,并设置合适的命名策略:
services.AddMvc()
    .AddNewtonsoftJson(options =>
    {
        // 使用自定义的 ContractResolver,以保持属性名不变
        options.SerializerSettings.ContractResolver = new DefaultContractResolver();
    });
  • 这将确保属性名保持与 C# 类中定义的一致。

标签:text,JSON,json,Json,序列化,options,属性
From: https://www.cnblogs.com/zhuoss/p/18157969

相关文章

  • Enhancing ID and Text Fusion via Alternative Training in Session-based Recommend
    目录概MotivationAlterRec代码LiJ.,HanH.,ChenZ.,ShomerH.,JinW.,JavariA.andTangJ.EnhancingIDandtextfusionviaalternativetraininginsession-basedrecommendation.2024.概作者“发现”多模态推荐中ID和文本模态的结合做的并不好,于是乎提出......
  • lazarus数据序列为JSON
    uses  DataSet.Serialize, fpjson;varobj:tjsonobject;procedureTForm1.Button1Click(Sender:TObject);beginuniquery1.Close;uniquery1.SQL.clear;uniquery1.sql.Add('selecttop2*fromtunit');uniquery1.Open;memo1.text:=uniquery1......
  • 【2024最新】获取街道、镇级的地图geoJson数据方法
    一、目的1、在echarts上绘制市级以下的区、县的区域地图。2、在市级下很多都是有区、县的区域,而少部分是不存在区、县的,是直接市下面一级就是街道、镇级别的区域。3、统一管理区域数据,有区县的市直接拿区县的geoJson数据,没有区县的市级直接拿街道、镇级的geoJson数据来绘制区......
  • 大模型必备 - 中文最佳向量模型 acge_text_embedding
    近期,上海合合信息科技股份有限公司发布的文本向量化模型acge_text_embedding在中文文本向量化领域取得了重大突破,荣获MassiveTextEmbeddingBenchmark(MTEB)中文榜单(C-MTEB)第一名的成绩。这一成就标志着该模型将在大模型领域的应用中发挥更加迅速和广泛的影响。MTEB概......
  • Python基础-模块和包(hashlib、random、json、time、datetime和os模块)
    什么是模块和包?模块:python中的.py文件,将一些功能按照某一种维度进行划分;自定义、内置。、第三方.包:文件夹里面好多个.py文件。在讨论的时候,一般统称为:模块。学习:自定义模块和包+使用内置模块+使用第三方模块+使用1自定义模块和包1.1快速上手-项目文件夹(......
  • NumericUpDown 订阅 TextChanged
    NumericUpDownWinForm中NumericUpDown控件的ValueChanged事件是在输入值失去焦点时触发的(NumericUpDown控件失去焦点时会设置Value值从而引发ValueChanged事件)。问题:ValueChanged事件虽然也能做到值改变时的通知但是无法做到在输入的过程中值改变时提供及时的反馈。解......
  • Resin反序列化链分析
    前言Resin是一个轻量级的、高性能的开源Java应用服务器。它是由CauchoTechnology开发的,旨在提供可靠的Web应用程序和服务的运行环境。和Tomcat一样是个服务器,它和hessian在一个group里,所以有一定的联系<dependencies><dependency><groupId>com.caucho</groupId><a......
  • a-textarea(textarea)出现模糊问题的可能解决方案
    a-textarea(textarea)出现模糊问题的可能解决方案项目介绍:本项目是一个vue3+ant-design-vue4.x开发,是一个客服机器人的组件。其它项目通过iframe+js文件来引入(iframe的内容就是表单,入口按钮是通过js文件进行dom操作创建)。通过js监听页面宽度,然后通过transform来适配不同分辨率......
  • qt 设置QTextEdit文本框中指定内容块的背景颜色
    效果: 代码:voidMainWindow::setCheckResultColor(QTextEdit*textEdit,intposition,intlength,constQColor&color){//获取文本编辑器的文本选区QTextCursorcursor=textEdit->textCursor();//将选区移动到指定位置cursor.setPosition(posit......
  • 银行卡归属地查询JSON
    [{"bankName":"中国邮政储蓄银行","bankCode":"PSBC","patterns":[{"reg":"^(621096|621098|622150|622151|622181|622188|622199|955100|6210......