日期:2014-05-17  浏览次数:20409 次

MVC 返回json数据 如何忽略序列化某个属性?
我在MVC中发  return Json(rest, JsonRequestBehavior.AllowGet)的时候我想忽略实体中的某个属性不被序列化 不知道该怎么做 在网上也找了几个方法还是不能解决 请各位大神帮忙
    [Table("ZipCode"), JsonObject(MemberSerialization.OptOut)]
    public class ZipInfo
    {
        [JsonIgnore]
        public int Id { get; set; }
        [Column("PostNumber")]
        public string zip { get; set; }
        public string province { get; set; }
        public string city { get; set; }
        public string district { get; set; }
        public string address { get; set; }
        public string jd { get; set; }
    }

使用[JsonIgnore]还是不起作用
------解决方案--------------------
引用:
JsonIgnoreAttribute是Json.net中的属性吧,JsonResult用的是JavaScriptSerializer序列化的,所以那个属性没意义,除非你自己用Json.net实现自己的JsonResult,或者在初始化model对象后,把不想序列化的属性值设为空或null,还有一个办法就是定义专用的View Model类,只定义需要的属性。

学习了
------解决方案--------------------
[ScriptIgnore]
public int Id { get; set; }
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/