Imagine una acción de controlador simple IEnumerable<BaseType> Get()
. Devuelve una enumeración de diferentes tipos, todos derivados de BaseType.Herencia y el formateador JSON de ASP.NET Web API
Cuando el cliente solicita XML, el resultado es algo como esto:
<ArrayOfBaseType>
<BaseType i:type="DerivedType1"><A>value</A></BaseType>
<BaseType i:type="DerivedType2"><B>value</B></BaseType>
<BaseType i:type="DerivedType3"><C>value</C></BaseType>
</ArrayOfBaseType>
Como se puede ver, el tipo de la clase derivada se transmite en el atributo i:type
.
Si el cliente solicita JSON sin embargo, esta información no se encuentra:
[
{"A":"value"},
{"B":"value"},
{"C":"value"}
]
cómo solucionar este problema?
@downvoter: Sin una explicación, su voto no vale nada ya que no puedo mejorar la pregunta sin saber lo que no está claro. –