単純なコントローラー アクションを想像してみてくださいIEnumerable<BaseType> Get()
。BaseType から派生したさまざまな型の列挙を返します。
クライアントが XML を要求すると、結果は次のようになります。
<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>
ご覧のとおり、派生クラスの型はi:type
属性で送信されます。
ただし、クライアントが JSON を要求する場合、次の情報が欠落しています。
[
{"A":"value"},
{"B":"value"},
{"C":"value"}
]
これを修正する方法は?