В настоящее время у меня есть некоторые данные JSON, которые я пытаюсь десериализовать, используя класс DataContractJsonSerializer
. Однако один из массивов данных содержит несколько типов объектов. Есть ли способ десериализации этих данных должным образом? Я знаю, что a very similar question exists, но Я бы предпочел не использовать Json.NET или любые другие сторонние библиотеки.Deserialize многотипный массив JSON с использованием DataContracts
РЕДАКТИРОВАТЬ: Небольшой пример:
В этом случае, скажем, в формате 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
с и Bar
с?
'Тем не менее, один из массивов данных содержит несколько типов objects' - не могли бы вы привести пример? Как различаются эти типы объектов? Если по какой-то причине они совершенно разные, вы можете рассмотреть тип «dynamic». Проведение образца JSON и модели, которую вы пытаетесь десериализовать, было бы полезно. –
@ShaneRay Добавлен небольшой пример, в реальном случае мои 'Foo' и' Bar' имеют совершенно разные свойства. – LegionMammal978