Json.NET nach Tiefe und Attribut serialisieren

Zum Beispiel haben wir zwei Klassen

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; }
}

Ich verwende Json.NET, die maximale Tiefe ist 1. Während der Serialisierung von FooA sollten alle Eigenschaften wie gewohnt ausgegeben werden, aber während der Serialisierung von FooB sollte nur eine FooA-Eigenschaft mit einem speziellen Attribut ausgegeben werden. Nur beim Auflösen verschachtelter Referenzeigenschaften (Tiefe> 0) sollten wir ein einzelnes Feld erhalten.

Output sollte sein: {"FooA": {"SomeValueA": "0"}}

Irgendwelche Ideen

Antworten auf die Frage(4)

Ihre Antwort auf die Frage