我使用.NET WCF + RESTful来开发服务,使用WizTools.org RESTClient进行测试。 我有一个关于从客户端接收JSON日期时间的问题。它们总是DateTime.MinValue。
这是我的DataContract
[DataContract(Name = "origin")]
public class OriginObject
{
[DataMember(Name = "airport")]
public string Airport { get; set; }
[DataMember(Name = "oddt")]
public DateTime Oddt { get; set; }
[DataMember(Name = "eddt")]
public DateTime Eddt { get; set; }
}
[DataContract(Name = "destination")]
public class DestinationObject
{
[DataMember(Name = "airport")]
public string Airport { get; set; }
[DataMember(Name = "odat")]
public DateTime Odat { get; set; }
[DataMember(Name = "edat")]
public DateTime Edat { get; set; }
}
这是我的测试JSON(请忽略“酸”,只是“目的地”和“原点”)
{
"acid" : "AAA1",
"destination" : {
"airport" : "VVVV",
"eddt" : "2013-03-05T20:20:31.000Z",
"oddt" : "/Date(1362489941)/"
},
"flightPlanState" : "ACTIVE",
"origin" : {
"airport" : "XXXX",
"edat" : "\/Date(1362499081)\/",
"odat" : "1362498721"
}
}
以上所有4个日期时间样式都是代码隐藏中的最小值(仅限日期时间,两个“机场”字段都具有正常值)。
答案 0 :(得分:0)
日期时间与Json没有很好的定义,尽管" eddt" value看起来像一个值,它应该由一个普通的.Net Json序列化程序解析。
我的建议是使用字符串属性,并添加额外的GetOddt()等函数,将字符串值解析为DateTime值;如果需要,还要添加SetOddt()等函数,不要忘记更新相应的字符串值!