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; }
}
相关推荐
光影少年几秒前
RN与Flutter架构区别
前端·flutter·react native·react.js·架构·node.js
一嘴一个橘子几秒前
java 中使用 lua 脚本
java
peter67687 分钟前
css学习小结
前端·css·学习
liangshanbo12158 分钟前
什么是CSS原子化?它的优劣势是什么?
前端·css·tensorflow·css原子化
码智社9 分钟前
Spring Framework 全方位技术解析
java
.道阻且长.10 分钟前
C++ 11:可变参数模板
前端·c++·算法
IMPYLH14 分钟前
HTML 的 <th> 元素
前端·html
风骏时光牛马15 分钟前
AI浪潮下程序员的职场破局与能力成长思考
前端
IMPYLH21 分钟前
HTML 的 <thead> 元素
前端·html
wangqiaowq24 分钟前
AST 安全求值
java·开发语言