У меня есть класс:десериализации JSON с различными типами для сериализации/десериализации
[DataContract]
public class A
{
[DataMember]
public B ArbitraryProperty { get; set;}
}
При сериализации «ArbitraryProperty» должна быть в виде класса «B»:
[DataContract]
public class B
{
[DataMember]
public string ValueA { get; set; }
[DataMember]
public string ValueB { get; set; }
}
Вот выход JSON:
{
"ArbitraryProperty": { "ValueA": "I'm a value.", "ValueB": "I'm a value too!" }
}
Когда я получаю тот же объект обратно с сервера, хотя свойство возвращается в виде sim PLE строка, как это:
{
"ArbitraryProperty": "I'm not a B, muahahaha!!!"
}
Там должен быть уловкой, чтобы позволить DataContractJsonSerializer знать, что он должен десериализацию значения в строку вместо «B».
Есть ли специальный способ настройки класса «А»? :/
Любые предложения?
Звучит так, как будто у вас есть два класса, у которых есть свойство «B», и свойство «string». Ваш результат и то, что вы говорите, возвращаются, это две абсолютно несвязанные структуры данных. –
@JoeEnos Следовательно проблема: Я действительно не хочу, чтобы создавать разные классы для моих запросов и типов ответов ... – Tim