我需要从服务器解析JSON数据并制作一个对象的列表。
我正在使用DataContract以便在json字典字段和类属性之间建立关联,但是我遇到了一个问题:其中一个字段包含字符串中的日期(类似于“2011-01-01 15: 00 UTC“);我想把它放在DateTime属性中。
如何将此字符串转换为日期时间并使用DataContract自动将其传递给该属性?那可能吗?
答案 0 :(得分:7)
您可以将属性用于此目的:
[DataMember(Name="Foo")]
public string FormattedFoo {
get { return /* apply some custom formatting to 'Foo' */; }
set { Foo = /* apply some custom parsing to 'value' */; }
}
public DateTime Foo {get;set;}
答案 1 :(得分:0)
将DataMember
属性放在字段而不是属性上,并使用setter / getter进行转换:
const string DATE_TIME_FORMAT = "<your format>";
[DataMember]
string myDate;
public DateTime MyDate {
get
{
return DateTime.ParseExact(myDate, DATE_TIME_FORMAT, CultureInfo.CurrentCulture);
}
set
{
myDate = value.ToString(DATE_TIME_FORMAT);
}
}