【发布时间】:2020-07-11 08:41:04
【问题描述】:
我正在使用此设置来序列化 dotnet core 2.2 中的对象列表:
var settings = new JsonSerializerSettings()
{
DateFormatString = "MM/dd/yyyy h:mm tt"
}
问题是,如果 DateTimes 时间等于 0,我希望它使用“MM/dd/yyyy”序列化和反序列化 DateTimes,并且我发现没有动态方法可以在具有两个值的同一列表中执行此操作(DateTimes 具有不同的时间, 0 或不 0)
【问题讨论】:
-
创建您自己的
JsonConverter。并且没有理由停留在 2.2 而不迁移到 3.1。 -
我打算继承JsonConvertor。这个问题的目的是使用任何潜在的现有特性,它优于继承。但似乎派生类是唯一的方法。关于 dotnet 2.2:我们正在考虑直接迁移到 dotnet 5。但我不是决定时间的人。
-
.NET 5(稳定版)在未来还很遥远,对我来说这不是一个好主意。对我来说,最好继续 3.1(它是 LTS,稳定,现在和现在),然后转到 .NET 6,因为 .NET 5 是过渡版本,不会包含所有需要的功能。 2.2 is outdated,并且可能容易受到攻击。顺便说一句,是的,
JsonConverter是实现自定义解散行为的唯一方法。 -
也是.NET 6 will be LTS,不是.NET 5
-
正确,感谢您的建议。仍然让我们坚持问题的重点。请问一招,缓解这个问题的解决办法吗?
标签: c# .net json.net .net-core-2.2