O Json.NET serializa por profundidade e atributo
Por exemplo, temos duas classes
class FooA
{
[SomeSpecialAttribute]
public int SomeValueA { get; set; }
public int SomeValueB { get; set; }
public int SomeValueC { get; set; }
}
class FooB
{
public FooA FooA { get; set; }
}
Eu uso o Json.NET, a profundidade máxima é 1. Ao serializar o FooA, ele deve gerar todas as propriedades normalmente, mas ao serializar o FooB, ele deve gerar apenas uma propriedade do FooA com atributo especial. Portanto, somente ao resolver propriedades de referência aninhadas (Profundidade> 0), devemos obter um único campo.
A saída deve ser: {"FooA": {"SomeValueA": "0"}}
Alguma ideia?