Я пытаюсь десериализовать GeoJSON с использованием библиотеки JSON.net . Компонент геометрии каждого объекта может быть разных типов на основе значения атрибута «type».
Мне нужно десериализовать геометрический компонент этого GeoJSON в геометрическую объектную модель следующим образом:
public abstract class Geometry { ... }
public class Point : Geometry { ... }
public class LineString : Geometry { ... }
public class Polygon : Geometry { ... }
Таким образом, основываясь на значении атрибута "type", он десериализуется в соответствующий конкретный тип .net, но доступ к нему осуществляется через его базовый класс Geometry.
Предоставляет ли библиотека JSON.net что-то похожее на KnownTypeAttribute в WCF или XmlElementAttribute в XML-сериализации, что позволяет мне десериализовать JSON в базовый класс с набором известных производных классы?