我有以下型號:如何使用DataContractJsonSerializer反序列化字典?
[DataContract]
public class MessageHeader
{
private Guid? messageId;
public Guid MessageId
{
get
{
if (messageId == null)
messageId = Guid.NewGuid();
return messageId.Value;
}
}
[DataMember]
public string ObjectName { get; set; }
[DataMember]
public Dictionary<string, object> Parameters { get; set; } // Can't deserialize this
[DataMember]
public Action Action { get; set; }
[DataMember]
public User InitiatingUser { get; set; }
}
現在對於一些未知的原因,DataContractJsonSerializer can't deserialize JSON into a dictionary(見額外的細節部分)。
不幸的是,DataContractJsonSerializer也因爲我無法理解的原因而被密封。
我需要一種方法來解決它,有沒有人有線索?
爲什麼不能DataContractJsonSerializer序列化詞典爲:詞典[ 「的ObjectName」] =值; – 2010-11-17 05:45:00
此外,CollectionDataDataContractAttribute不適用於DataContractJsonSerializer,再次絕對沒有理由。關於第一個鏈接,如果我沒有JavaScriptSerializer,我該怎麼做,因爲它是一個Web DLL。 – 2010-11-17 06:01:36
因爲它是一個'Web' DLL?我不明白?只需引用它即可使用.NET GAC中的任何庫。這是.NET庫的強大功能。只是因爲它在System.Web或其他什麼,這並不意味着什麼。它只是一個用於邏輯組織對象,方法等的命名空間。至於_Why爲什麼不能DCJS序列化這個way_,idk字典,但是我已經向你展示了上面的問題。 – jcolebrand 2010-11-17 15:53:01