繁体   English   中英

继承时Json的奇怪行为

[英]Odd behavior with Json when inheriting

我遇到了一种问题。

我有一个ErrorModel类,它是在继承ICollection。

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)

结果是私有错误对象

[
  "Select a Country",
  "Select a City"
]

但是,当您删除继承时,将获得对象的完整序列化。

{
"Count": 2,
  "HasErrors": true,
  "IsReadOnly": false
}

所以我的问题是什么在继承时导致了奇怪的序列化行为?

您的JSON序列化程序将所有集合类都视为数组。

JSON不支持数组和对象的混合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM