В настоящее время у меня есть некоторые данные JSON, которые я пытаюсь десериализовать с помощью класса DataContractJsonSerializer
. Однако один из массивов данных содержит несколько типов объектов. Есть ли способ правильно десериализовать эти данные? Я знаю, что существует очень похожий вопрос, но я бы предпочел не использовать Json.NET или любой другой сторонний партийные библиотеки.
EDIT: Небольшой пример:
В этом случае допустим, что 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?
However, one of the arrays in the data contains multiple types of objects
-- не могли бы вы привести пример? Чем отличаются эти типы объектов? Если по какой-то причине они совершенно разные, вы можете рассмотреть типdynamic
. Было бы полезно опубликовать образец JSON и модель, в которую вы пытаетесь его десериализовать. - person Shane Ray   schedule 22.02.2017Foo
иBar
имеют совершенно разные свойства. - person LegionMammal978   schedule 22.02.2017