確保JSON字串有效性的高效方法:JSON.NET與System.Json
在資料處理中,驗證原始字串是否為有效的JSON至關重要。 JSON.NET和System.Json都提供了可靠的解決方案。
程式碼實作:
最可靠的方法是使用JSON.NET的JToken.Parse
方法,並將其嵌套在try-catch
區塊中。這允許解析字串並捕獲任何表示JSON無效的異常。
<code class="language-csharp">using Newtonsoft.Json; using Newtonsoft.Json.Linq; 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 jex) { // 解析异常 Console.WriteLine(jex.Message); return false; } catch (Exception ex) { // 其他异常 Console.WriteLine(ex.ToString()); return false; } } else { return false; } }</code>
.NET Framework 4.5的System.Json
命名空間也提供JsonValue.Parse
方法:
<code class="language-csharp">using System.Runtime.Serialization.Json; string jsonString = "someString"; try { var tmpObj = JsonValue.Parse(jsonString); } catch (FormatException fex) { // 无效的JSON格式 Console.WriteLine(fex); } catch (Exception ex) { // 其他异常 Console.WriteLine(ex.ToString()); }</code>
無程式碼的方法:
對於較小的JSON字串,可以使用JSONLint和JSON2CSharp等線上工具來驗證其有效性,並產生用於反序列化的模板類別。
以上是如何使用 JSON.NET 或 System.Json 高效驗證 JSON 字串的有效性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!