.NET 9.0中HybridCache如何忽略JSON序列化的Null值?
.NET 9 HybridCache 配置JSON序列化忽略Null属性
HybridCache 默认使用 System.Text.Json 进行序列化,要实现忽略值为Null的属性,只需替换它的序列化器实例,传入自定义配置的 JsonSerializerOptions 即可,和你配置MVC时的逻辑一致。
修改后的配置代码如下:
services.AddHybridCache(options => { options.MaximumPayloadBytes = 1024 * 1024; options.MaximumKeyLength = 1024; options.DefaultEntryOptions = new HybridCacheEntryOptions { Expiration = TimeSpan.FromDays(7), LocalCacheExpiration = TimeSpan.FromDays(7) }; // 配置JSON序列化忽略Null属性 var jsonSerializerOptions = new JsonSerializerOptions { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull // 可按需添加其他序列化配置,比如 PropertyNameCaseInsensitive = true 等 }; // 替换HybridCache的默认序列化器 options.Serializer = new SystemTextJsonSerializer(jsonSerializerOptions); });
核心逻辑是通过 SystemTextJsonSerializer 包装自定义的 JsonSerializerOptions,赋值给HybridCache的 Serializer 属性,就能让缓存序列化时自动忽略Null值属性。
内容的提问来源于stack exchange,提问作者fantastischIdee
相关产品推荐
相关产品推荐

