У меня есть следующие модели:Как десериализовать словарь с помощью 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"] = значение; –
Кроме того, CollectionDataContractAttribute не применяется к DataContractJsonSerializer, опять же без всякой причины. О первой ссылке, что мне делать, если у меня нет JavaScriptSerializer, так как это веб-DLL. –
, так как это '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Я не понимаю? Вы можете использовать любую библиотеку в .NET GAC, просто ссылаясь на нее. Это мощь библиотеки .NET. Просто потому, что это в System.Web или что-то еще, это ничего не значит. Это просто пространство имен для логической организации объектов, методов и т. П. А что касается _Why не может DCJS сериализовать словарь that way_, idk, но я показал вам проблему выше. – jcolebrand