Json.net 全局设置

2023-11-29

有没有办法指定 Json.net 的全局设置?

我们遇到的问题是它将所有日期时间都放在 UTC 中(这是正确的)。出于遗留目的,我们希望默认为当地时间。我不想把以下代码放在各处:

var settings = New JsonSerializerSettings();
settings.DateTimeZoneHandling = DateTimeZoneHandling.Local;
JsonConvert.DeserializeObject(json, settings);

所以,这被添加到Json.net 5.0 版本 5

JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
    DateTimeZoneHandling = DateTimeZoneHandling.Local
};

来自发行说明:

设置一次JsonConvert.DefaultSettings在应用程序中,所有调用都会自动使用默认设置JsonConvert.SerializeObject/DeserializeObject, and JToken.ToObject/FromObject。用户为这些调用提供的任何设置都将覆盖默认设置。

因为有些情况下 JSON 不应该被定制,例如默认情况下,Facebook 或 Twitter 库JsonSerializer不会使用DefaultSettings,为这些框架或应用程序中不应使用默认设置的位置提供选择退出。创建一个JsonSerializer确实使用它们有一个新的JsonSerializer.CreateDefault() method.

请注意,当 ASP.NET 直接调用 Newtonsoft 时,例如在模型绑定或响应格式中,它选择不使用这些全局默认设置。要配置 ASP.NET 内部使用的默认值,请参阅这个答案 by Andrei.

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

Json.net 全局设置 的相关文章

随机推荐

  • python ctypes,通过引用传递双指针

    问题 我正在尝试使用具有以下原型的 C 库中的函数 int glip get backends const char name size t count The name这里的争论就是问题所在 它是一个通过引用传递的二维字符数组 在 C 语
  • 副本集 my-mongo-set 的新配置 1 中描述的主机没有映射到此节点

    我正在使用 Docker 设置 MongoDB 集群 我有一个 bash 脚本 它启动三个共享网桥的容器 以便它们可以相互通信 我可以连接到网络中的所有 MongoDB 数据库 NodeJS 脚本将集群成员添加到网络中 docker rm
  • AngularJS |使用 ng-class 的条件类

    我想将条件类应用于页面上的元素 目前它正在使用以下代码 ng class vfnz form error loginForm username invalid 如果输入字段无效 这将应用无效类 我想申请 valid 用户输入字段有效时的类
  • 使用 XDocument 生成具有多个命名空间的 XML

    我有这样的 XML
  • “connectedAndroidTest”任务成功后运行 gradle 任务 X

    我有一个等级taskX我想追寻的connectedAndroidTest任务完成 但前提是所有测试都通过connectedAndroidTest 我怎样才能做到这一点 你需要利用finalizedBy以及特定任务的状态检查 具体方法如下 t
  • Android 中下载队列中的文件

    如何将队列中的多个文件一一下载 我在用着this作为示例代码 因为 我将传递要从本地数据库动态下载字符串的 URL 请让我知道该怎么做 我希望应用程序启动后立即开始下载 请帮助我 Android 开发类型 新手下载队列的目的 应用内计费成功
  • new Date() 与 Date() 以及为什么它返回不同的时间(-2 小时)?

    我有这 2 个控制台日志 但它们返回的时间不同 2 小时关闭 console log new Date Date 2015 04 20T15 37 23 000Z console log Date Mon Apr 20 2015 17 37
  • Pandas 数据框:使用线性插值重新采样

    我正在尝试获得一种相当基本的重采样方法来处理 pandas 数据框 我的数据框 df 按日期时间条目索引并包含价格 price datetime 2000 08 16 09 29 55 755000 7 302786 2000 08 16
  • 规范化为 3NF(第三范式)时,可以将复合键和/或外键移动到其他表吗

    我的数据库设计目前处于 3NF 问题是外键 在某些情况下是复合键 如果与复合 外键关联的属性不依赖于主键 您是否可以移动复合键和 或外键来创建其他表 我怀疑答案是肯定的 因为这个链接 第三范式中是否包含外键 最佳答案 仅仅因为它是外键并不意
  • Jenkins - 使用curl获取最新的工件

    我一直在四处寻找 但找不到如何使用curl 下载最新的工件 甚至只是知道链接 我发现了永久链接和 api xml json 提要 其中包含所需的所有数据 例如工件名称等 还发现了压缩所有工件的特殊链接 但我的工件已经压缩了 有没有一种方法可
  • Wxpython 在主机启动时显示对话框

    我是一个使用 python 和 wxpython 的新人 我在主机启动后显示登录表单对话框时遇到问题 例如这张照片 所以如果用户没有登录 主机就无法访问 如果用户单击关闭 关闭按钮 它也会关闭主框架 请给我一个示例代码 import wx
  • 检索 subprocess.call() 的输出[重复]

    这个问题在这里已经有答案了 如何使用以下命令获取进程运行的输出subprocess call 通过一个StringIO StringIO反对stdout给出这个错误 Traceback most recent call last File
  • 如何在 .NET 5 控制台应用程序中处理任务管理器中的“结束任务”?

    我的 NET 5 控制台应用程序注册了处理例程通过使用设置ConsoleCtrlHandler 因此它可以在退出之前进行一些清理 这让我能够做出反应CTRL C CTRL BREAK ALT F4并使用关闭控制台X按钮 遗憾的是 当任务管理
  • 从 Oracle 表获取值计数

    我有一张表 其中包含员工 由于我工作的公司相当大 gt 3k 员工 其中一些人具有相同的名字是很自然的 现在可以通过用户名来区分他们 但由于网页需要包含所有这些用户的下拉菜单 因此我需要在他们的姓名中添加一些额外的数据 我知道我可以首先获取
  • 如果条目不包含两个匹配的字段,则 mongo 添加到嵌套数组

    我有一个 mongo 文档 其中包含一个名为 History 的数组 id ObjectId 575fe85bfe98c1fba0a6e535 email email address v 0 history name Test123 org
  • Javascript:如何阻止谷歌分析?

    我正在使用开放网络分析构建一个网站 我的主机是免费主机并自动插入 Google Analytics 我想删除 Google Analytics 因为它强制跟踪用户 我在 ga 之前插入了基于 jQuery 的节点删除代码 但它仍然被加载 像
  • java构造函数分配整个类而不仅仅是字段

    我的系统既是 jibx 又是一个遗留的 xml 应用程序 我想构建一个构造函数 它可以接受 xml 字符串并将其解组到自己的类中 像这样 public ActiveBankTO String xmlIn try ByteArrayInput
  • 如何在 FullCalendar 中禁用拖动,但保留单击时间段的能力并使“占位符”约会仍然呈现

    如何在下面的 FullCalendar 示例中禁用可拖动功能 虽然我不想要 可拖动 功能 但我仍然希望能够单击时间段并使占位符约会仍然正常呈现 http arshaw com js fullcalendar demos selectable
  • 动态创建子域

    我正在使用 MVC 框架 Yii 创建一个网站 我需要动态创建子域 即http company website com 因此 为了实现此目的 我添加了 DNS 通配符 website com 现在的问题是我的应用程序控制器对于www web
  • Json.net 全局设置

    有没有办法指定 Json net 的全局设置 我们遇到的问题是它将所有日期时间都放在 UTC 中 这是正确的 出于遗留目的 我们希望默认为当地时间 我不想把以下代码放在各处 var settings New JsonSerializerSe