目前,我有一些JSON數據,我試圖使用DataContractJsonSerializer
類進行反序列化。但是,數據中的一個數組包含多種類型的對象。有沒有辦法正確地反序列化這些數據?我知道a very similar question exists,但是我不想使用Json.NET或任何其他第三方庫。使用DataContracts反序列化多類型JSON數組
編輯:一個小例子:
在這種情況下,讓我們說,JSON是形式[{"foo":string},{"bar":string},{"foo":string},{"foo":string},...]
其中每個元素是任一種形式{"foo":string}
或{"bar":string}
的。然後,合同可以被設置爲這樣:
[DataContract]
class Foo { [DataMember] public string foo; }
[DataContract]
class Bar { [DataMember] public string bar; }
在這種情況下,我的問題是,我怎麼反序列化這個數組的Foo
S和Bar
S'
'但是,在數據陣列的一個包含多種類型objects'的 - 你能提供一個例子嗎?這些對象類型有何不同?如果由於某種原因它們完全不同,那麼可以考慮使用「動態」類型。發佈JSON樣本以及您試圖將其反序列化的模型會很有幫助。 –
@ShaneRay添加了一個小例子,在實際情況下,我的'Foo'和'Bar'具有完全不同的屬性。 – LegionMammal978