【发布时间】:2018-11-08 05:43:28
【问题描述】:
我想在序列化对象时删除基于字符串列表的属性。我尝试使用DefaultContractResolver,但它提供了property.PropertyName,并且与路径或父对象无关:
public class Foo {
public Bar Bar {get;set;}
}
public class Bar {
public int MyProperty { get;set; }
public int MyProperty2 { get;set; }
public int MyProperty3 { get;set; }
}
var remove = new List<string> {
"Foo.Bar.MyProperty"
}
以Foo.Bar.MyProperty 不会被序列化的方式序列化该对象的最佳方法是什么?
【问题讨论】:
-
不,我说的是json
-
那个类只提供了“p.PropertyName”,它没有提供任何关于路径(如Foo.Bar)或父对象的信息,所以我不能使用。
-
目前不太可能,请参阅How to perform partial object serialization providing “paths” using Newtonsoft JSON.NET。 (事实上,这可能是重复的。同意吗?)对此有一个增强请求,请参阅Feature request: ADD JsonProperty.ShouldSerialize(object target, string path) #1857。
标签: json.net