Я использую некоторые веб-службы ARCGis, и у них есть какой-то неудачный дизайн JSON. например, они могут дать что-то вроде этого:
{
geometryType: "esriGeometryPolygon"
geometry: {
-rings: [
-[.blah..... }}
Теперь, в зависимости от переданного значения geometryType, объект геометрии может быть одним из нескольких разных типов объектов. в приведенном выше случае геометрия node имеет тип Polygon.
так, вопрос есть; в JSON.NET есть ли способ обозначить эту условную типизацию? if not (что я сомневаюсь, что есть), есть ли способ создать поставщика для десериализации этой геометрии node на основе информации об объекте выше? если нет, есть ли рекомендуемые способы решения этого вопроса?
edit: я довольно подробно рассмотрел создание пользовательского конвертера, но проблема с конвертером заключается в том, что у них есть этот абстрактный метод:
public override T Create (Type objectType)
однако, я не знаю, какой тип для создания здесь, мне нужно знать, какой объект был указан в JSON выше.
спасибо!