目前,我有一些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