当前位置: 首页 > article >正文

.NET 10 新的 JsonIgnoreCondition

Intro

之前提了一个 api 建议为 JsonIgnore 添加两个扩展,WhenReading 和 WhenWriting,主要的一个用例是 WhenReading 我们的 Api Response 里有一个字段非常的大,不需要在 response 里包含,但是从 json 里反序列化时时需要地所以不能简单地直接忽略,在使用 Newtonsoft.Json 时使用 ShouldSerialize 约定方法在序列化的时候忽略,如果有一个 WhenWriting 的 ignore 选项可以比较方便地从 Newtonsoft.Json 做迁移,去年的时候 api review approved 了,之前看到有一个关联的 PR 不过后来一直没有更新,于是尝试自己提了一个 PR 以提供支持

New Api

namespace System.Text.Json.Serialization;

public enum JsonIgnoreCondition
{
  Never,
  Always,
  WhenWritingDefault,
  WhenWritingNull,
+ WhenWriting,
+ WhenReading,
}

为 JsonIgnoreCondition 新增了 WhenWriting/WhenReading 选项,在序列化和反序列化时进行忽略

Sample

下面我们来看一个简单的使用示例:

sealed classPerson
{
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWriting)]
    publicint Id

http://www.kler.cn/a/594714.html

相关文章:

  • 从“不敢买大”到“按墙选屏”,海信电视如何凭百吋重构客厅?
  • 【PCB工艺】基础:电子元器件
  • 科技云报到:AI Agent打了个响指,商业齿轮加速转动
  • 数据结构(python)-------栈和队列2
  • 【Ragflow】2. rag检索原理和效率解析
  • 私域电商的进化逻辑与技术赋能:基于开源AI大模型与S2B2C商城的创新融合研究
  • 深度学习pytorch笔记:TCN
  • Vs code搭建uniapp-vue项目
  • DAY35贪心算法Ⅳ 重叠区间问题
  • Java 大视界 -- Java 大数据在智能政务舆情引导与公共危机管理中的应用(138)
  • Flask 模版引擎的语法
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(10)
  • Redis 在windows下的下载安装与配置
  • 医院信息系统平台总体架构原则
  • 创造型设计模式
  • canvas数据标注功能简单实现:矩形、圆形
  • <el-form >ref数据监测不到的原因
  • 将MySQL数据同步到Elasticsearch作为全文检索数据的实战指南
  • 【从零开始学习计算机科学与技术】计算机网络(五)网络层
  • RocketMQ 架构