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 中国語 Web サイトの他の関連記事を参照してください。