Как правильно десерилизовать при публикации Json в ASP.NET MVC Actions, где модель имеет подклассы - PullRequest
1 голос
/ 28 октября 2011

У меня есть проблема, когда при отправке JSON для какого-либо действия на контроллере MVC это действие принимает модель, в которой есть список элементов. Эти элементы могут быть несколькими различными объектами, поскольку все они являются подклассами общего абстрактного класса.

Есть ли способ создать JSON так, чтобы, когда он его опустошал, он знал, как преобразовать объекты обратно в правильные типы?

1 Ответ

0 голосов
/ 17 июля 2012
    void Main()
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new   System.Web.Script.Serialization.JavaScriptSerializer();
 MainModel model = new MainModel(){SimpleProperty = "I am simple property",   ComplexProperty = new ComplexProperty(){Foo="test", Bar="data"}};
   var result = serializer.Serialize(model);

}

public class MainModel
  {
      public string SimpleProperty {get;set;}
      public ComplexProperty ComplexProperty {get;set;}
}

 public class ComplexProperty 
  {
public string Bar {get;set;}
public string Foo {get;set;}

  }

Результат сериализации выглядит следующим образом: {"SimpleProperty": "Я простое свойство", "ComplexProperty": {"Bar": "data","Foo": "test"}}

Надеюсь, это поможет!

...