Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengesahkan Rentetan JSON Menggunakan JSON.NET dan Kaedah Lain?
Gunakan JSON.NET untuk mengesahkan rentetan JSON
Memastikan kesahihan rentetan JSON adalah penting untuk integriti data. Begini cara untuk mencapainya menggunakan JSON.NET:
Gunakan kod dengan blok Try-Catch:
Pendekatan yang disyorkan adalah untuk menghuraikan rentetan dalam blok cuba-tangkap dan mengendalikan sebarang pengecualian yang berlaku semasa penghuraian. Contohnya adalah seperti berikut:
<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>
Semak struktur objek atau tatasusunan:
Untuk meningkatkan lagi pengesahan, semak sama ada rentetan bermula dengan "{" (untuk objek) atau "[" (untuk tatasusunan) dan berakhir dengan "}" atau "]" masing-masing. Ini memastikan struktur JSON yang betul sebelum menghuraikan.
<code class="language-csharp">... if ((strInput.StartsWith("{") && strInput.EndsWith("}")) || (strInput.StartsWith("[") && strInput.EndsWith("]"))) { ... } ...</code>
Alternatif: Gunakan ruang nama System.Json:
Jika anda tidak dapat menggunakan JSON.NET, anda boleh menggunakan ruang nama System.Json dalam .Net Framework 4.5. Contohnya adalah seperti berikut:
<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>
Pilihan bukan kod: Alat dalam talian:
Untuk mengesahkan rentetan JSON kecil dengan cepat, alatan dalam talian seperti JSONLint berguna. Anda juga boleh menggunakan tapak seperti json2csharp.com untuk menjana kelas templat dan menggunakan JSON.NET untuk menyahsiri JSON.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Rentetan JSON Menggunakan JSON.NET dan Kaedah Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!