JSON.NET を使用して JSON 文字列を検証する
JSON 文字列の有効性を確保することは、データの整合性にとって重要です。 JSON.NET を使用してこれを実現する方法は次のとおりです:
Try-Catch ブロックを含むコードを使用します:
推奨されるアプローチは、try-catch ブロック内の文字列を解析し、解析中に発生する例外を処理することです。例は次のとおりです:
<code class="language-csharp">using Newtonsoft.Json; public static bool IsValidJson(string strInput) { 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; } }</code>
オブジェクトまたは配列の構造を確認します:
検証をさらに強化するには、文字列が "{" (オブジェクトの場合) または "[" (配列の場合) で始まり、それぞれ "}" または "]" で終わるかどうかを確認します。これにより、解析する前に正しい JSON 構造が保証されます。
<code class="language-csharp">... if ((strInput.StartsWith("{") && strInput.EndsWith("}")) || (strInput.StartsWith("[") && strInput.EndsWith("]"))) { ... } ...</code>
代替: System.Json 名前空間を使用します:
JSON.NET を使用できない場合は、.Net Framework 4.5 の System.Json 名前空間を使用できます。例は次のとおりです:
<code class="language-csharp">using System.Json; string jsonString = "someString"; try { var tmpObj = JsonValue.Parse(jsonString); } catch (FormatException fex) { Console.WriteLine(fex); } catch (Exception ex) { Console.WriteLine(ex.ToString()); }</code>
コード以外のオプション: オンライン ツール:
小さな JSON 文字列を迅速に検証するには、JSONLint などのオンライン ツールが便利です。 json2csharp.com などのサイトを使用してテンプレート クラスを生成し、JSON.NET を使用して JSON を逆シリアル化することもできます。
以上がJSON.NET およびその他のメソッドを使用して JSON 文字列を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。