J'ai une classe:désérialisation JSON avec différents types de sérialisation/désérialisation
[DataContract]
public class A
{
[DataMember]
public B ArbitraryProperty { get; set;}
}
Lorsque sérialisé, "ArbitraryProperty" doit être sous la forme de la classe "B":
[DataContract]
public class B
{
[DataMember]
public string ValueA { get; set; }
[DataMember]
public string ValueB { get; set; }
}
Voilà la sortie JSON:
{
"ArbitraryProperty": { "ValueA": "I'm a value.", "ValueB": "I'm a value too!" }
}
Lorsque je récupère le même objet du serveur, la propriété revient en tant que sim chaîne PLE comme ceci:
{
"ArbitraryProperty": "I'm not a B, muahahaha!!!"
}
Il doit y avoir un truc pour laisser le DataContractJsonSerializer savoir qu'il doit désérialiser la valeur à une chaîne au lieu d'un « B ».
Existe-t-il une manière spéciale de configurer la classe "A"? :/
Des suggestions?
Cela me semble que vous avez deux classes, une qui a une propriété 'B', et une qui a une propriété' string'. Votre sortie et ce que vous dites sont deux structures de données totalement indépendantes. –
@JoeEnos D'où le problème :) Je ne veux vraiment pas avoir à faire des classes différentes pour ma demande et les types de réponse ... – Tim