我有一个问题,当将 JSON 发送到 MVC 控制器上的某个操作时,该操作接受一个包含项目列表的模型。这些项目可以是几个不同的对象,因为它们都是公共抽象类的子类。
有没有办法制作 JSON,以便在反序列化它时,它知道如何将对象转换回正确的类型?
我有一个问题,当将 JSON 发送到 MVC 控制器上的某个操作时,该操作接受一个包含项目列表的模型。这些项目可以是几个不同的对象,因为它们都是公共抽象类的子类。
有没有办法制作 JSON,以便在反序列化它时,它知道如何将对象转换回正确的类型?
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":"I am simple property","ComplexProperty":{"Bar":"data","Foo":"test"}}
希望有帮助!