Игнорирование пустых полей в Json.net
У меня есть некоторые данные, которые я должен сериализовать в JSON. Я использую JSON.NET. Моя структура кода похожа на это:
public struct structA
{
public string Field1;
public structB Field2;
public structB Field3;
}
public struct structB
{
public string Subfield1;
public string Subfield2;
}
Проблема в том, что мой вывод JSON должен иметь ТОЛЬКОField1
ИЛИ ЖЕField2
ИЛИ ЖЕField3
- это зависит от того, какое поле используется (то есть не ноль). По умолчанию мой JSON выглядит так:
{
"Field1": null,
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {"Subfield1": null, "Subfield2": null},
}
Я знаю, что могу использоватьNullValueHandling.Ignore
, но это дает мне JSON, который выглядит так:
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {}
}
И что мне нужно, это:
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
}
Есть ли простой способ добиться этого?