我有一个典型的回应
ResultModel
{
Bool Result,
Object Response
}
我想发送带产品的类别
var response = new List<Category>
{
new Category {Name = "1", Products = new List<Product> {new Product {Name = "1_1"}, new Product {Name = "1_2"}} },
new Category {Name = "2", Products = new List<Product> {new Product {Name = "2_1"}, new Product {Name = "2_2"}} },
new Category {Name = "3", Products = new List<Product> () },
}
我的回答
return new ResultModel
{
Response = response,
Result = true
};
但我无法收到Products属性作为回应。 谁知道为什么? 感谢
答案 0 :(得分:2)
您只获取属性Name,因为它是原始类型,并且序列化程序知道如何序列化和反序列化它。如果要获得更复杂的对象,必须确保序列化程序知道如何操作。
您可以在对象中实现Iserializable接口,并且在确定可以序列化之后,可以在webApi中使用它。
https://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable(v=vs.110).aspx
的SO帖子