1
我目前使用的是DataContractJsonSerializer
類,但我無法將日期如12/19/2013 12:00:00 AM
轉換爲C#DateTime
對象。如何使用DataContractJsonSerializer序列化「2013年12月19日12:00:00 AM」在C#上的DateTime類型
是我得到的錯誤說:
有反序列化 型Uptivity.achievement的對象錯誤。 DateTime content '12/19/2013 12:00:00 AM' 不是以JSON所需的'Date('和以')'結尾開始。
在:
public static T DeserializeJSon<T>(string jsonString)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(stream);
return obj;
}
我一直在試圖定義日期時間格式是這樣的:
public static T DeserializeJSon<T>(string jsonString)
{
var settings = new DataContractJsonSerializerSettings
{
DateTimeFormat = new System.Runtime.Serialization.DateTimeFormat("G")
};
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T),settings);
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T)ser.ReadObject(stream);
return obj;
}
但現在我收到:
有錯誤反序列化 Uptivity.achievement類型的對象。字符串未被識別爲有效的日期時間。
另外這個12/19/2013 12:00:00 AM
格式如Date是JSON提供者正在傳遞的格式。
任何想法?
這將有助於如果你包括你已經嘗試過。您是否嘗試更正此問題:'/ Date('並以')/'結尾,如JSON所需。 – LVBen 2014-09-22 18:37:04
謝謝,我將盡快更新我的文章。 – user3149931 2014-09-22 18:39:27
http://stackoverflow.com/questions/14640096/datacontractjsonserializer-date-serialization – MethodMan 2014-09-22 18:39:29