【发布时间】:2020-11-13 00:24:54
【问题描述】:
我有一个 ISO 8601 格式的输入日期字符串 (2020-07-23T09:42:02.694Z)。在我的控制器中,属性定义为DateTime。我编写了一个自定义日期转换器来将日期转换为 LocalTime 区域(这很不寻常)。
public class UTCtoUnspecifiedDateConverter : IsoDateTimeConverter
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader != null
&& reader.Value != null
&& this.CanConvert(objectType)
&& this.CanRead
&& typeof(DateTime) == reader.Value.GetType())
{
return DateTime.SpecifyKind((DateTime)reader.Value, DateTimeKind.Unspecified).ToLocalTime();
}
else
{
return base.ReadJson(reader, objectType, existingValue, serializer);
}
}
}
有什么方法可以在此转换器中获取我从客户端发送的原始字符串?
基本上我想检查最后是否有Z。
在调试时,我在 reader 上看到了一个 private 属性,它存储了此信息。有什么办法可以在这里得到这个?
【问题讨论】:
标签: c# .net json.net asp.net-web-api2 customserializer