我有一个返回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; }
}
}
Run Code Online (Sandbox Code Playgroud)
正在创建此对象的实例并从我的WCF服务返回.此服务如下所示:
[OperationContract]
[WebGet(UriTemplate = "/GetPersonByID/{id}", ResponseFormat = WebMessageFormat.Json)]
public Person GetPersonByID(string id)
{
Person person = FindPersonByID(id);
return person;
}
Run Code Online (Sandbox Code Playgroud)
当我在我的应用程序中得到响应时,我可以成功提取FullName值.但是,我还没有成功地将BirthDate转换为客户端应用程序中的C#DateTime对象.转换为字符串时,BirthDate看起来像这样:
\/Date(1297367252340-0500)\/
Run Code Online (Sandbox Code Playgroud)
如何将其转换为C#DateTime实例?
谢谢!
这有两个选择:
您可以使用System.Web.Script.Serialization.JavaScriptSerializer中的Deserialize方法 (在System.Web.Extensions.dll中).
或者您可以使用System.Runtime.Serialization.Json.DataContractJsonSerializer中的ReadObject方法 (在System.Runtime.Serialization.dll中或在System.ServiceModel.Web.dll中的.NET 3.5中).
确保您的日期包含在以下引号中:
string dateString = @"""\/Date(1297367252340-0500)\/""";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15916 次 |
| 最近记录: |