想象一下簡單的控制器操作IEnumerable<BaseType> Get()
。它返回所有派生自BaseType的不同類型的枚舉。繼承和ASP.NET Web API的JSON格式化程序
當客戶端請求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"}
]
如何解決這一問題?
@downvoter:沒有一個解釋,你的downvote是沒有價值的,因爲我不能改善這個問題,不知道什麼是不明確的。 –