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

.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.dtcms.com/a/86528.html

相关文章:

  • Python Lambda 函数详解
  • 智慧高速,安全护航:视频监控平台助力高速公路高效运营
  • 知识分享导航
  • Jmeter简介、学习目标及安装启动
  • Maven下载以及项目创建(笔记)
  • 开发一款自然语言转sql的网页版数据库管理工具,不需要使用网上那些付费版,自己搭建一套数据库管理工具,免费开源
  • Unix 域套接字(本地套接字)
  • YOLOv12环境配置,手把手教你使用YOLOv12训练自己的数据集和推理(附YOLOv12网络结构图),全文最详细教程
  • 基于Spring Boot的产业园区智慧公寓管理系统的设计与实现(LW+源码+讲解)
  • 一区思路!
  • Java-模块二-1
  • Java 对 PDF 文件添加水印
  • 利用 MATLAB/Simulink 建立完整的控制系统模型,并进行阶跃响应和负载扰动响应仿真
  • 算法与数据结构(和为K的子数组)
  • 深入解析 .NET 中的依赖项加载机制:原理、实现与最佳实践
  • 一人系统 之 为什么要做一人系统?
  • 认知突破、执行闭环与生态创新:DeepSeek、Manus与Coze的AI应用
  • 爬虫案例-爬取某站视频
  • Lua 的 Neovim 常用配置
  • Vue3 组件通信 $refs $parent
  • 【React】使用Swiper报错`Swiper` needs at least one child
  • 前端会话控制技术:cookie/session/token
  • 特斯拉Optimus 2.0:多模态感知与强化学习引领家庭场景变革
  • 【递归、搜索和回溯算法】专题三 :穷举VS暴搜VS深搜VS回溯VS剪枝
  • WebGL图形编程实战【2】:动态着色 × 纹理贴图技术揭秘
  • 学习Flutter:搭建第一个 Flutter 应用
  • StarRocks 主键(Primary Key)深度解析
  • MATLAB+Arduino控制小车直行+转向
  • 竞赛团队招募系统----山东大学web课程设计
  • cool-admin-midway 使用腾讯云cos上传图片