我需要在通过Newtonsoft序列化到JSON期间忽略一些属性,但是例如内部对象的相同属性必须像往常一样序列化。
class A
{
string P1;
}
class B: A
{
B B1;
}
var b = new B
{
P1 = "p", // must be ignored
B1 = new B // 2nd level
{
P1 = "p2" // must be serialized
}
}
var serializer = new JsonSerializer();
using (var textWriter = new JsonTextWriter(new StreamWriter(fullFileName)))
serializer.Serialize(textWriter, value);
我假设可以覆盖JsonTextWriter
或添加自定义转换器。但它看起来很奇怪。也许有另一种方式?