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; }
}
相关推荐
ModelBulider2 分钟前
SpringMVC应用专栏介绍
java·开发语言·后端·spring·springmvc
licy__4 分钟前
HTML 元素类型介绍
前端·css·html
努力的Java程序员5 分钟前
后端接受大写参数(亲测能用)
java·开发语言
一雨方知深秋10 分钟前
WEB APIS(DOM对象,操作元素内容,属性,表单属性,自定义属性,定时器)
开发语言·前端·javascript
三金1213822 分钟前
整站使用Vue(工程化)
前端·javascript·vue.js
唐僧洗头爱飘柔952730 分钟前
(Java并发编程——JUC)常见的设计模式概念分析与多把锁使用场景!!理解线程状态转换条件!带你深入JUC!!文章全程笔记干货!!
java·设计模式·并发编程·juc·reentrantlock·顺序控制·生产者与消费者
leeyayai_xixihah33 分钟前
0-1实现SpringBoot项目开发(1)-SpringBoot+mybatis+mysql+Navicat
java·spring boot·spring
pingzhuyan36 分钟前
EasyExcel: 结合springboot实现表格导出入(单/多sheet), 全字段校验,批次等操作(全)
java·spring boot·servlet·threadlocal·easyexcel
老马啸西风41 分钟前
数据源的统一与拆分 apache calcite 的雄心与现实
java
爪哇学长42 分钟前
打造极致网页体验:HTML与CSS高级实战秘籍
前端·css·html