我们正在使用json.net将一个分层对象转换为JSON,然后从那里转换为XML。
我们知道反对这样做的论点,但是有几个 有利于它的争论,我们已经尝试了很多事情来到达这里。
我们遇到的问题是偶尔属性将具有零值。当属性转换为元素时,这很好,但是当它是一个属性时,我们会得到NullReferenceException
。我们的偏爱是让零值转换为空字符串,但是将它们完全遗漏是可以接受的。
我们如何处理?
一些分析结果表明,我们获得的所有NullReferenceException
S都属于string
属性。如果确实没有初始化字符串,则将以下内容放在 getter 中返回string.Empty
,而不是null
。这不是一个优雅的解决方案,但是它适用于我们的情况。
[JsonProperty(PropertyName = "@Code")]
public string ProductCode
{
get { return _productCode == null ? string.Empty : _productCode ; }
set { _productCode = value.Trim(); }
}