我有一些数据必须序列化为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
-这取决于所使用的字段(即非null)。默认情况下,我的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"},
}
有没有简单的方法可以做到这一点?
https://stackoverflow.com/questions/9819640
复制相似问题