如何在序列化期间仅忽略第1级的某些属性?

时间:2016-12-12 15:18:57

标签: c# json json.net

我需要在通过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或添加自定义转换器。但它看起来很奇怪。也许有另一种方式?

0 个答案:

没有答案