利用 JSON.NET 驗證 JSON 字串的有效性
確保字串是否為有效的 JSON 格式對於資料完整性至關重要。流行的 JSON 處理庫 JSON.NET 提供了幾種方法來驗證 JSON 字串。
使用 TryParse 或 JToken.Parse
遺憾的是,JSON.NET 缺少 TryParse 方法。但是,您可以利用 try-catch 區塊中的 JToken.Parse:
<code class="language-csharp">private static bool IsValidJson(string strInput) { if (string.IsNullOrWhiteSpace(strInput)) { return false; } strInput = strInput.Trim(); try { var obj = JToken.Parse(strInput); return true; } catch (JsonReaderException) { return false; } catch (Exception) { return false; } }</code>
針對物件和陣列結構的附加檢查
為了提高驗證的準確性,可以考慮以下附加檢查:
<code class="language-csharp">private static bool IsValidJson(string strInput) { if (string.IsNullOrWhiteSpace(strInput)) { return false; } strInput = strInput.Trim(); if ((strInput.StartsWith("{") && strInput.EndsWith("}")) || // 对象 (strInput.StartsWith("[") && strInput.EndsWith("]"))) // 数组 { try { var obj = JToken.Parse(strInput); return true; } catch (JsonReaderException) { return false; } catch (Exception) { return false; } } else { return false; } }</code>
無需 JSON.NET 的替代方案
如果無法使用 JSON.NET,請考慮在 .NET 中使用 System.Json 命名空間:
<code class="language-csharp">string jsonString = "someString"; try { var tmpObj = JsonValue.Parse(jsonString); } catch (FormatException) { // 无效的 JSON 格式 } catch (Exception) { // 其他异常 }</code>
請記住,此方法需要安裝 System.Json NuGet 套件。
非程式碼方法
對於小型 JSON 字串的快速驗證,可以使用 JSONLint 等線上工具。它們可以識別 JSON 語法錯誤並提供有用的回饋。
以上是如何使用 JSON.NET 或替代方法驗證 JSON 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!