Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengesahkan Rentetan JSON Menggunakan JSON.NET dan Kaedah Lain?

Bagaimanakah Saya Boleh Mengesahkan Rentetan JSON Menggunakan JSON.NET dan Kaedah Lain?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-10 21:52:42334semak imbas

How Can I Validate JSON Strings Using JSON.NET and Other Methods?

Gunakan JSON.NET untuk mengesahkan rentetan JSON

JSON.NET menyediakan berbilang kaedah untuk mengesahkan sama ada rentetan adalah data JSON yang sah.

Gunakan blok cuba-tangkap:

Pendekatan biasa ialah menghuraikan rentetan dalam blok cuba-tangkap:

<code class="language-csharp">try
{
   var obj = JToken.Parse(strInput);
   // 解析成功,JSON 有效。
}
catch (JsonReaderException ex)
{
   // 捕获异常,JSON 无效。
}
catch (Exception ex)
{
   // 其他异常,根据情况处理。
}</code>

Semak aksara permulaan dan penamat:

Selain itu, anda boleh menyemak sama ada rentetan bermula dengan "{" atau "[" dan berakhir dengan "}" atau "]" masing-masing:

<code class="language-csharp">private static bool IsValidJson(string strInput)
{
   if ((strInput.StartsWith("{") && strInput.EndsWith("}")) ||
      (strInput.StartsWith("[") && strInput.EndsWith("]")))
   {
      try
      {
         var obj = JToken.Parse(strInput);
         return true;
      }
      catch
      {
         return false;
      }
   }
   return false;
}</code>

Gunakan ruang nama System.Json (tiada JSON.NET diperlukan):

Jika anda tidak mahu menggunakan JSON.NET, anda boleh menggunakan ruang nama System.Json:

<code class="language-csharp">try
{
   var tmpObj = JsonValue.Parse(jsonString);
   // JSON 有效。
}
catch
{
   // JSON 无效。
}</code>

Kaedah bukan kod:

Untuk rentetan JSON yang lebih kecil, jika anda lebih suka pengesahan manual, anda boleh:

  • Gunakan alatan dalam talian, seperti JSONLint, untuk menyemak kesahihan.
  • Salin rentetan JSON yang sah ke JSON2csharp.com, hasilkan templat kelas dan nyahsiri menggunakan JSON.NET.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Rentetan JSON Menggunakan JSON.NET dan Kaedah Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn