我有一个返回 CLR 对象的 WCF 服务。该对象定义如下:
[DataContract]
public class Person
{
[DataMember]
public string FullName
{
get { return fullName; }
set { id = fullName; }
}
private string fullName = string.Empty;
[DataMember]
public DateTime BirthDate
{
get { return birthDate; }
set { birthDate = value; }
}
}
正在创建此对象的实例并从我的 WCF 服务返回。该服务如下所示:
[OperationContract]
[WebGet(UriTemplate = "/GetPersonByID/{id}", ResponseFormat = WebMessageFormat.Json)]
public Person GetPersonByID(string id)
{
Person person = FindPersonByID(id);
return person;
}
当我在应用程序中收到响应时,我可以成功提取 FullName 值。但是,我尚未成功地将 BirthDate 转换为客户端应用程序中的 C# DateTime 对象。当转换为字符串时,出生日期看起来像这样:
\/Date(1297367252340-0500)\/
如何将其放入 C# DateTime 实例中?
Thanks!
这里有两个选项:
您可以使用反序列化方法System.Web.Script.Serialization.JavaScriptSerializer(在 System.Web.Extensions.dll 中)。
或者您可以使用 ReadObject 方法System.Runtime.Serialization.Json.DataContractJsonSerializer(在 System.Runtime.Serialization.dll 中或在 .NET 3.5 中的 System.ServiceModel.Web.dll 中)。
确保您的日期用引号引起来,例如:
string dateString = @"""\/Date(1297367252340-0500)\/""";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)