Ich habe einige Daten, die ich in JSON serialisieren muss. Ich benutze JSON.NET. Meine Codestruktur ähnelt der folgenden:
public struct structA
{
public string Field1;
public structB Field2;
public structB Field3;
}
public struct structB
{
public string Subfield1;
public string Subfield2;
}
Das Problem ist, dass meine JSON-Ausgabe NUR Field1ODER Field2ODER haben muss Field3- es hängt davon ab, welches Feld verwendet wird (dh nicht null). Standardmäßig sieht mein JSON folgendermaßen aus:
{
"Field1": null,
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {"Subfield1": null, "Subfield2": null},
}
Ich weiß, dass ich verwenden kann NullValueHandling.Ignore, aber das gibt mir JSON, das so aussieht:
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {}
}
Und was ich brauche ist folgendes:
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
}
Gibt es einen einfachen Weg, dies zu erreichen?