Mam pewne dane, które muszę serializować do JSON. Używam JSON.NET. Moja struktura kodu jest podobny do tego:Ignorowanie pól pustych w Json.net
public struct structA
{
public string Field1;
public structB Field2;
public structB Field3;
}
public struct structB
{
public string Subfield1;
public string Subfield2;
}
Problem jest moje wyjście JSON musi mieć tylko Field1
LUB Field2
LUB Field3
- to zależy od tego, które pole jest używane (nie znaczy null). Domyślnie mój JSON wygląda następująco:
{
"Field1": null,
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {"Subfield1": null, "Subfield2": null},
}
wiem, że mogę używać NullValueHandling.Ignore
, ale to daje mi JSON, który wygląda tak:
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
"Field3": {}
}
A czego potrzebuję to:
{
"Field2": {"Subfield1": "test1", "Subfield2": "test2"},
}
Czy istnieje prosty sposób, aby to osiągnąć?
Możliwy duplikat [Jak zignorować właściwość w klasie, jeśli jest pusta, za pomocą json.net] (http://stackoverflow.com/questions/6507889/how-to-ignore-a-property-in-class-if -null-using-json-net) –