使用Json.Net忽略空屬性值
在使用Json.Net將類序列化為JSON時,您可能希望在屬性為空時排除某些屬性。可以使用JsonIgnoreAttribute
實現此目的,但是,此解決方案是靜態的,不允許根據屬性值進行動態排除。
另一種解決方案是使用JsonPropertyAttribute
的NullValueHandling
屬性。方法如下:
單個屬性:
<code class="language-csharp">[JsonProperty("property-name", NullValueHandling=NullValueHandling.Ignore)] public string Property { get; set; }</code>
整個類:
<code class="language-csharp">[JsonObject(ItemNullValueHandling = NullValueHandling.Ignore)] public class ClassName { // ... properties ... }</code>
工作原理:
NullValueHandling.Ignore
:從序列化中排除具有空值的屬性。 ItemNullValueHandling.Ignore
:將相同的規則應用於帶註釋的類中的所有屬性。 通過這種方法,您可以動態忽略為空的屬性,同時仍然在JSON輸出中包含非空屬性。
以上是與json.net序列化時,如何忽略零屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!