.NET JSON序列化期间忽略字段; 类似于?
我有一个POCO类正在发送到浏览器作为一个JSONstring在.NET 3.5 SP1。 我只使用默认的JSON序列化,我有一些我想忽略的字段。 我想把一个类似于[System.Xml.Serialization.XmlIgnore]的属性放在它们上面,以便它们不被序列化。
我在我的模型上使用ScriptIgnore属性如下所示:
public class Item { [ScriptIgnore] public Item ParentItem { get; set; } }
在这个特定的场景中,我得到了Json序列化程序的循环引用错误,所以我简单地忽略了它。 当我打开Model和ViewModel之间的区别时,我在这里问了一个类似的问题 。
[ScriptIgnore]
是你的老板
您只需要将[ScriptIgnore(ApplyToOverrides = true)]
到您的文本模板(.tt)文件中。
这里是我的文字模板的一部分
#> <#=codeStringGenerator.NavigationProperty(navigationProperty)#> <#
一旦我插入codeStringGenerator
上面的代码,我的类自动生成,看起来像这样:
[ScriptIgnore(ApplyToOverrides = true)] public virtual ICollection<Currency> Currencies { get; set; }
我还需要修改UsingDirectives
函数来插入"using System.Web.Script.Serialization;"
将属性设置为内部。 虽然,取决于你的结构。 考虑到。