使用自定义jsonConverter处理c#中已使用的开放api中的无效日期字符串格式



我需要使用一个基于swaggerhub上swagger定义的api,该定义将字段指定为LastPriceChange字符串($date(,该字符串将成为c#中生成的模型中的DateTime。

问题是他们提供的数据格式无效:

"LastPriceChange":"2020-11-23 16:15:57Z";,

由于指定时间部分的T丢失,因此在保留字符串时引发以下错误:

字符串"2020-11-23 16:15:57Z"未被识别为有效的DateTime。

我已经有了一个自定义的json转换器,我必须为它们返回null的整数字段编写它,但这似乎更难编写。有没有一种好的方法可以通过数据合同或其他方式来确定字段应该是ajson转换器中的日期?

如果没有,是否有其他方法可以将此字段映射到DateTime?

在序列化程序设置中,我尝试使用以下值:

DateParseHandling = DateParseHandling.DateTimeOffset,
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateFormatString = "YYYY-MM-DD HH:mm:ssZ",

有其他办法绕过这个问题吗?

感谢

Paul

感谢Brian的有益评论,这是因为我将日期fromat字符串设置错误,试图解决它:

DateFormatString = "YYYY-MM-DD HH:mm:ssZ", 

这实际上应该是

DateFormatString = "yyyy-MM-dd HH:mm:ssZ"

相关内容

  • 没有找到相关文章

最新更新