在ScanInfo类中有两个版本的扫描结果.但这两个属性中只有一个将为空,另一个属性将具有值.在本例中,我只想序列化非空属性,输出的json属性名为"scanResult".当我try 序列化时,当前代码将报告属性名称冲突.我怎么才能解决这个问题呢?
public class ScanInfo
{
[JsonProperty("scanResult", NullValueHandling = NullValueHandling.Ignore)]
public ScanResult oldVersion;
[JsonProperty("scanResult", NullValueHandling = NullValueHandling.Ignore)]
public ScanResultNew newVersion;
}
public class ScanResult
{
public DateTime StartTime;
public DateTime EndTime;
public IDictionary<string, long> statistic;
}
public class ScanResultNew
{
public DateTime StartTime;
public DateTime EndTime;
public Statistic statistic;
public string status;
}
JSON输出:
{
"scanResult":...
}
我的目标是,它们中只有一个应该被序列化,并且都应该通过属性名"scanResult"来引用.