que tienen el siguiente modelo:¿Cómo deserializar un diccionario utilizando 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; }
}
Ahora, por alguna razón desconocida, DataContractJsonSerializer can't deserialize JSON into a dictionary (Ver sección de detalles adicionales).
Desafortunadamente DataContractJsonSerializer también está sellado por razones que están más allá de mí.
Necesito una forma de evitarlo, ¿alguien tiene una pista?
Por qué no puede DataContractJsonSerializer serializar el diccionario como: Diccionario [ "ObjectName"] = Valor; –
Además, CollectionDataContractAttribute no se aplica a DataContractJsonSerializer, nuevamente sin ningún motivo. Sobre el primer enlace, ¿qué hago si no tengo JavaScriptSerializer porque es una DLL Web? –
ya que es un dll 'Web' ¿No entiendo? Puede usar cualquier biblioteca en .NET GAC simplemente haciendo referencia a ella. Ese es el poder de la biblioteca .NET. El hecho de que esté en System.Web o lo que sea, eso no significa nada. Es solo un espacio de nombres para la organización lógica de objetos, métodos y similares. Y en cuanto a _¿Por qué DCJS no puede serializar el diccionario de esa manera_, idk, pero te he mostrado el problema anterior? – jcolebrand