我遇到了一类问题。
我有一个继承ICollection的ErrorModel类,裸骨。
public class ErrorsModel : ICollection<string>
{
private ICollection<string> Errors { get; set; }
public bool HasErrors { get { return Errors != null && Errors.Any(); } }
public string PartialView { get; set; }
}
省略了ICollection imp。因为它是标准的
当由控制器Action Json方法返回时
return Json(Errors)
结果是私有的Errors对象
[
"Select a Country",
"Select a City"
]
但是,当您删除继承时,您将获得对象的完整序列化。
{
"Count": 2,
"HasErrors": true,
"IsReadOnly": false
}
所以我的问题是在继承时导致奇数序列化行为的原因是什么?
答案 0 :(得分:4)
您的JSON序列化程序将所有集合类视为数组。
JSON不支持数组和对象的混合。