尝试使用Json.NET在序列化期间隐藏基类成员

时间:2012-02-16 01:05:13

标签: c# asp.net serialization json.net

我有两个类,其中具体类Model<T>隐藏了基类“Items属性。

class Model
{
    List<ListItem> Items {get;set;}
}

class Model<T> : Model
{
    new List<ListItem<T>> Items {get;set;}
}

使用Json.NET序列化Model<T>的实例后,我收到错误:

  

Newtonsoft.Json.JsonSerializationException:“Items”上已存在名为“Model<T>”的成员。使用JsonPropertyAttribute指定其他名称。

我理解为什么我收到此错误,但是,我不想更改具体类的属性名称;我希望能够告诉序列化程序忽略基类属性。

我尝试使用ShouldSerialize{PropertyName}()支持的XmlSerializer约定和Json.NET claims to support too,但这对我的方案似乎不起作用。

1 个答案:

答案 0 :(得分:0)

感谢rsbarro指出这是在更高版本的Json.NET(v4.0.6.0)中修复的。我已经升级并确认现在已经序列化了正确的属性。