仅使用零转换 JSON DateTime 值(例如“0000-00-00 00:00:00”)不适用于标准 Json.net IsoDateTimeConverter。我开发了一个自定义转换器来保存该值 DateTime.MinValue。此外,DateTime.MinValue 将被写为“ZeroDateString”。所有其他字符串均由 IsoDateTimeConverter 基类处理。我在 DateTime 属性的 JsonNet 注释上使用此转换器。
是否有更好、更简单的方法来处理这个问题,例如在更基本的级别上,不需要注释?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace DataLayer
{
/// <summary>
/// Custom IsoDateTimeConverter for DateTime strings with zeros.
///
/// Usage Sample
/// [JsonConverter(typeof(ZerosIsoDateTimeConverter), "yyyy-MM-dd hh:mm:ss", "0000-00-00 00:00:00")]
/// public DateTime Zerodate { get; set; }
/// </summary>
public class ZerosIsoDateTimeConverter : Newtonsoft.Json.Converters.IsoDateTimeConverter
{
/// <summary>
/// The string representing a datetime value with zeros. …Run Code Online (Sandbox Code Playgroud)