Как сохранить тип объекта в строке 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.Есть идеи по этому поводу?