[英]Converting string to DateTime while deserializing
我有一个像这样的json
[{"date":"2019-04-03(13:43)","storyid":"123363},{""date":"2019-04-03(09:02)","storyid":"123555"},{"date":"2019-04-03(08:44)","storyid":"664224"}]
并且我正在使用c#和.net框架将json反序列化为NewsHeadlines的列表。
JsonConvert.DeserializeObject<List<NewsHeadline>>(json);
这按预期工作,只是我想要一种特定格式(“ yyyy-MM-dd(HH:mm)”)的DateTime属性称为Date。 在反序列化之后,我可以更改日期时间的格式,但我很想知道是否可以在get set级别中更改它。.有人可以帮助我了解如何执行此操作吗?
[DataMember(Name = "date")]
public DateTime Date {get;set}
[DataMember(Name = "storyid")]
public string StoryId {get; set;}
因此最终结果可以是具有值2019-04-03(13:43)的Date(DateTime对象)
public class MyDateTimeConverter : IsoDateTimeConverter
{
public MyDateTimeConverter()
{
//Take care of the format here
base.DateTimeFormat ="yyyy-MM-dd(HH:mm)";
}
}
[JsonConverter(typeof(MyDateTimeConverter))]
public DateTime Date { get; set; }
[IgnoreDataMember]
public DateTime Date { get; set; }
[DataMember(name="Date")]
private string Date_asString
{
get
{
return Date.ToString("yyyy-MM-dd(HH:mm)");
}
set
{
Date = DateTime.Parse(value);
}
}
假设您正在使用wcf和datacontract序列化程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.