WCF RESTful传递JSON日期时间总是空的
本文关键字:时间 日期 RESTful 传递 JSON WCF | 更新日期: 2023-09-27 18:10:24
我使用。net WCF + RESTful开发服务,使用WizTools.org RESTClient进行测试。我有一个关于从客户端接收JSON日期时间的问题。它们总是DateTime.MinValue。
这是我的数据合同
[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(请忽略"酸",只有"目的地"answers"起源")
{
"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种datetime样式都是代码隐藏的最小值(只有datetime,两个"airport"字段都有正常值)
DateTime在Json中没有很好地定义,尽管"eddt"值看起来应该是一个应该被普通。net Json序列化器解析的值。
我的建议是使用字符串属性,并添加额外的GetOddt()等函数来解析字符串值到DateTime值;如果需要,还可以添加SetOddt()等函数,并且不要忘记更新相应的字符串值!