.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;"

将属性设置为内部。 虽然,取决于你的结构。 考虑到。