Как включить тип объекта в Json для веб-службы asmx с помощью Gson

Как сохранить тип объекта в строке json при отправке данных в веб-службу asmx в .net 2.0?

например:

class A{
 string name;
}

class B : A {
 string address;
}

и веб-метод:

[WebMethod]
public void PushJson(A obj){
  B b = (B) obj;
}

Теперь в приведенном выше примере сценария, скажем, я отправляю {"obj": {"name": "waqas", "address": "sweden"}} , тогда как я могу заставить мою строку json действовать как тип класса B, чтобы он мог быть принят веб-методом как объект класса A и затем преобразован обратно в объект класса B? короче говоря, как сохранить полиморфизм в json?

Я заметил, что компилятор выдает мне System.InvalidCastException , когда я пытаюсь выполнить такой шаблон

P.S. Я заметил, что .net добавляет __ type для сложных объектов при сериализации в json. Возможно ли, что мы можем включить этот ключ, чтобы помочь .net автоматически анализировать строку json с правильным типом класса?

любая помощь / предложение были бы полезны.


Обновление:

Если мы внимательно рассмотрим wsdl веб-службы asmx, то объекты, классы которых наследуют родительские классы, содержат что-то вроде . Я думаю, что эта часть расширения - это то, что мне может понадобиться преобразовать в Json.Есть идеи по этому поводу?

12
задан waqaslam 16 August 2012 в 12:49
поделиться