檢查 JObject 中的 Empty 或 Null JToken
迭代 JObject 的屬性時,必須處理以下情況:可能遺失或包含空值。讓我們來看看將 JSON 資料對應到 SQL 參數時經常遇到的場景。
在程式碼中,您可以使用 item["thisParameter"] 存取特定屬性。要檢查此屬性是否存在,不能使用 item["thisParameter"].Count 因為它不提供 null 安全性。
相反,要確定 JObject 中是否存在屬性,請使用平方括號語法並檢查結果是否為空:
JToken token = item["thisParameter"]; if (token != null) { // Property exists }
現在,讓我們解決空值的問題。根據上下文,「空」可以有不同的意義。例如,空數組 (JTokenType.Array) 沒有元素,而空物件 (JTokenType.Object) 沒有屬性。為了處理這種情況,您可以建立以下擴充方法:
public static class JsonExtensions { public static bool IsNullOrEmpty(this JToken token) { return (token == null) || (token.Type == JTokenType.Array && !token.HasValues) || (token.Type == JTokenType.Object && !token.HasValues) || (token.Type == JTokenType.String && token.ToString() == String.Empty) || (token.Type == JTokenType.Null) || (token.Type == JTokenType.Undefined) } }
透過使用此擴充方法,您可以根據您定義的條件方便地檢查 JToken 是否為 null 或為空。
以上是如何檢查 JObject 中的 JToken 是否為空或 Null?的詳細內容。更多資訊請關注PHP中文網其他相關文章!