Ich habe folgendes Modell:Wie ein Wörterbuch mit DataContractJsonSerializer deserialisieren?
[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; }
}
Jetzt aus einem unbekannten Grund, DataContractJsonSerializer can't deserialize JSON into a dictionary (Siehe weitere Einzelheiten Abschnitt).
Leider ist DataContractJsonSerializer auch aus Gründen versiegelt, die über mich hinausgehen.
Ich brauche einen Weg, um es zu umgehen, hat jemand eine Ahnung?
Warum kann DataContractJsonSerializer das Wörterbuch als serialisiert: Dictionary [ "ObjektName"] = Wert; –
Auch CollectionDataContractAttribute gilt nicht für DataContractJsonSerializer erneut aus absolut keinem Grund. Über den ersten Link, was mache ich, wenn ich JavaScriptSerializer nicht habe, da es eine Web DLL ist. –
da es eine 'Web' DLL ist? Ich verstehe nicht? Sie können jede Bibliothek in der .NET-GAC verwenden, indem Sie darauf verweisen. Das ist die Stärke der .NET-Bibliothek. Nur weil es in System.Web oder was auch immer ist, bedeutet das nichts. Es ist nur ein Namensraum für die logische Organisation von Objekten, Methoden und dergleichen. Und warum kann DCJS das Wörterbuch nicht auf diese Weise serialisieren, IDK, aber ich habe Ihnen das obige Problem gezeigt. – jcolebrand