【发布时间】:2012-12-14 20:22:40
【问题描述】:
我使用 MVC 4 我的 ActionController 接收到以下 Json:
{
"MainId": 1,
"Actions": [
{
"Attribute1ClassA": 1,
"Attribute2ClassA": 2
},
{
"Attribute1ClassB": 3,
"Attribute2ClassB": 4
},
{
"Attribute1ClassC": 5
}
]
}
和控制器:
[HttpPost]
public ActionResult Commit(ActionsSummaryViewModel summary)
{
//DO stuff
}
类的声明:
public ActionsSummaryViewModel
{
public int MainId {get;set;}
public IList<MainClass> {get;set;}
}
public class MainClass
{
}
public class ClassA : MainClass
{
public int Attribute1ClassA {get;set;}
public string Attribute2ClassA {get;set;}
}
public class ClassB : MainClass
{
public int Attribute1ClassB {get;set;}
public string Attribute2ClassB {get;set;}
}
public class ClassC : MainClass
{
public int Attribute1ClassC {get;set;}
}
那么现在,当动作控制器接收到 JSON 时,我该如何管理 MainClass 的反序列化?因为当我调用该操作时,列表项为空。
如果解决方案的一部分是 Json.NET,我该如何实现 MVC 4 控制器?
感谢您的帮助。
【问题讨论】:
标签: asp.net-mvc serialization polymorphism json.net deserialization