繁体   English   中英

反序列化时将字符串转换为DateTime

[英]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);
    }
 }

假设您正在使用和datacontract序列化程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM