使用转换器初始化 JsonSerializerOptions

2023-11-24

我想创建一个静态实例JsonSerializer选项来自 System.Text.Json。该实例应该有一个自定义的转换器列表。所以,我的倾向是:

static readonly JsonSerializerOptions serializerOptions = new JsonSerializerOptions
{
    // Error - Converters cannot be assigned to
    Converters = new[] { new DateTimeOffsetConverter() }
};

The docs显示使用Add一旦实例存在就添加转换器,例如:

var serializeOptions = new JsonSerializerOptions();
serializeOptions.Converters.Add(new DateTimeOffsetConverter());

对于静态字段有什么优雅的想法吗?


如果您只使用大括号,C# 的初始化语法实际上会调用“Add”:

static readonly JsonSerializerOptions serializerOptions = new JsonSerializerOptions
{
    Converters = { new DateTimeOffsetConverter() }
}

您还可以使用静态初始化程序:

static readonly JsonSerializerOptions serializerOptions = new JsonSerializerOptions();

static MyClass(){
    serializerOptions.Converters.Add(new DateTimeOffsetConverter())
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用转换器初始化 JsonSerializerOptions 的相关文章

随机推荐

  • 如何通过单击 HTML 中的图像来展开图像

    我的 html 页面中有一个图像 img src http s3 media1 ak yelpcdn com bphoto sMONYSiLUQEvooJ5hZh0Sw l jpg alt width 200 height 150 如何通过
  • 如何在不阻塞主线程的情况下使用 Qt-Dbus 绑定

    我的目标是使用创建一个库Qt 的 DBus 绑定 我尝试创建一个 Qt 应用程序而不启动QEventLoop 由提供QCoreApplication类 在主线程中 这是一个简约的应用程序示例 使用 QT 4 6 2 版本工作正常 但使用 Q
  • 从 Pandas 中的字符串中提取 int

    假设我有一个数据框df as A B 1 V2 3 W42 1 S03 2 T02 3 U71 我想要一个新专栏 要么在它的末尾df或更换色谱柱B与它 因为它并不重要 只从列中提取 intB 这就是我想要的专栏C看起来像 C 2 42 3
  • 强制转换为 typeof(self)

    是否有可能创建一个类别 扩展 最终返回一个转换为的对象instancetype 我有一个类别来加载 SKS 文件 但由于该类别适用于SKNode然后所有其他子类都喜欢SKScene or SKEmitterNode等 也会采用它 所以我只是
  • 除法返回零

    这个简单的计算返回零 我无法弄清楚 decimal share 18 58 100 您在这里使用整数 尝试对计算中的所有数字使用小数 decimal share 18m 58m 100m
  • 创建您自己的自定义适配器时,getView() 方法如何工作?

    我的问题是 LayoutInflater到底有什么作用呢 为什么我读过的所有文章都首先检查convertview 是否为空 当它为 null 时意味着什么 当它不为 null 时又意味着什么 该方法接受的父参数是什么 1 The Layou
  • Outlook 筛选项目 - 获取一周范围内的所有定期约会

    我试图在 Outlook 中获取一周范围内的所有约会 但重复发生的约会没有显示 这是代码 var outlook new Microsoft Office Interop Outlook Application var calendar o
  • 有没有带有观察点的免费 python 调试器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 pdb 和 winpdb 似乎都缺少这个基本的 对我来说 功能 我看到一些建议 WingIDE 有它 但我更喜欢免费的解决方案 如果我必须付费 我更
  • Alamofire 4.0 证书无效问题

    我正在尝试通过 https 为我的 iOS 应用程序使用 Web 服务 Web 服务器使用自签名证书 使用 Web 服务时 我收到错误 证书无效 失败 错误域 NSURLErrorDomain代码 1202 该服务器的证书无效 您可能正在连
  • Gimp 的“Color to Alpha”功能背后的算法是什么?

    对于那些还不熟悉 Gimp 的 Color to Alpha 功能的人 以下是 Gimp 文档中的页面 颜色到 Alpha 它做得非常好 我很想知道 Gimp 在颜色处理方面到底是如何做到的 无论颜色可能处于哪个颜色空间 非常感谢您的任何提
  • Bootstrap 4 嵌套折叠“data-parent”不起作用

    我想用折叠数据父选项 我需要传统的手风琴行为 当显示可折叠项目时 应关闭指定父级下的所有可折叠元素 但这不起作用 我不知道这是因为我的嵌套崩溃还是我做错了什么
  • MySQL 失败:mysql“错误 1524 (HY000):插件‘auth_socket’未加载”

    我本地的环境是 全新 Ubuntu 16 04 与 PHP 7 安装了 MySQL 5 7 sudo apt get install mysql common mysql server 当我尝试登录 MySQL 通过 CLI 时 mysql
  • 将项目插入Python中的排序列表

    我正在创建一个类 其中一种方法将新项目插入到排序列表中 该项目将插入到已排序列表中的更正 已排序 位置 我不允许使用除 之外的任何内置列表函数或方法 and len尽管 这是让我真正感到困惑的部分 解决这个问题最好的方法是什么 Use th
  • Mono 下的 WebRequest 不支持 HTTP 协议

    我的一台 Macbook 遇到了最奇怪的问题 我有一个在 Macbook 上以 mono 运行的 C 应用程序 该应用程序通过 HTTP 与 Web 服务进行通信 并且在我的旧 Macbook 上完美运行 我买了一台新的 MacBook 并
  • 使用累加器的列表理解

    使用列表理解 或其他紧凑方法 复制这个简单函数的最佳方法是什么 import numpy as np sum 0 array for i in np random rand 100 sum i array append sum 在 Pyth
  • Angular 4 反应式表单在重置表单后不会清除验证

    我在我的应用程序中使用 Angular 4 4 6 反应形式和 Angular Material 2 0 0 beta 12 这是我的组件 import Component OnInit from angular core import F
  • 如何在 MATLAB 中设置函数参数的默认值?

    MATLAB 中可以有默认参数吗 例如 这里 function wave a b n k T f flag fTrue inline 0 我希望真正的解决方案是波函数的可选参数 如果可能的话 正确的方法是什么 目前 我正在尝试上面发布的内容
  • 自定义 Supervision.Decider 未捕获 ActorPublisher 产生的异常

    我正在构建一个将由第三方使用的库 在我的方法之一中 我返回Stream Item 它是根据分页 REST API 调用的结果异步生成的 我正在使用我的修改BulkPuller异步 我的代码是here 我希望我的流的接收者能够处理错误 根据文
  • Rails 资产管道:编译为多个样式表

    由于特定的设置 我想将编译后的样式表拆分为两个文件 这是因为 Java 应用程序需要 CSS 一部分 来解析 CSS 但它有点 bug 并且无法处理某些 css hack syntax 因为我无法修改这个 Java 应用程序 所以我只想向它
  • 使用转换器初始化 JsonSerializerOptions

    我想创建一个静态实例JsonSerializer选项来自 System Text Json 该实例应该有一个自定义的转换器列表 所以 我的倾向是 static readonly JsonSerializerOptions serialize