C# 如何使用 System.Text.Json 启用不区分大小写的属性名称

本文将介绍如何使用 System.Text.Json 命名空间启用不区分大小写的属性名称匹配。

不区分大小写的属性匹配

默认情况下,反序列化会查找 JSON 与目标对象属性之间区分大小写的属性名称匹配。 若要更改该行为,请将 JsonSerializerOptions.PropertyNameCaseInsensitive 设置为 true

备注

Web 默认值为不区分大小写。

C#复制

复制代码
var options = new JsonSerializerOptions
{
    PropertyNameCaseInsensitive = true
};
var weatherForecast = JsonSerializer.Deserialize<WeatherForecast>(jsonString, options);

下面是具有 camel 大小写属性名称的示例 JSON。 它可以反序列化为具有帕斯卡拼写法属性名称的以下类型。

JSON复制

复制代码
{
  "date": "2019-08-01T00:00:00-07:00",
  "temperatureCelsius": 25,
  "summary": "Hot",
}

C#复制

复制代码
public class WeatherForecast
{
    public DateTimeOffset Date { get; set; }
    public int TemperatureCelsius { get; set; }
    public string? Summary { get; set; }
}
相关推荐
曹轲恒7 小时前
Java中断
java·开发语言
xxxmine7 小时前
Java并发wait(timeout)
java
冰冰菜的扣jio7 小时前
Redis缓存问题——一致性问题、事务、持久化
java·spring·mybatis
施棠海7 小时前
监听与回调的三个demo
java·开发语言
niucloud-admin7 小时前
web 端前端
前端
web3.08889998 小时前
微店商品详情API实用
python·json·时序数据库
毕设源码-钟学长8 小时前
【开题答辩全过程】以 家政服务平台为例,包含答辩的问题和答案
java
sheji341610 小时前
【开题答辩全过程】以 家庭教育资源网为例,包含答辩的问题和答案
java
百***787510 小时前
Grok-4.1与GPT-5.2深度对比:技术差异、适用场景及Python集成指南
java·python·gpt