Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengesahkan Kesahan Rentetan JSON Dengan Cekap Menggunakan JSON.NET atau System.Json?

Bagaimanakah Saya Boleh Mengesahkan Kesahan Rentetan JSON Dengan Cekap Menggunakan JSON.NET atau System.Json?

Patricia Arquette
Lepaskan: 2025-01-10 21:57:43
asal
936 orang telah melayarinya

How Can I Efficiently Verify JSON String Validity Using JSON.NET or System.Json?

Cara yang cekap untuk memastikan kesahihan rentetan JSON: JSON.NET dan System.Json

Dalam pemprosesan data, adalah penting untuk mengesahkan bahawa rentetan asal adalah JSON yang sah. Kedua-dua JSON.NET dan System.Json menyediakan penyelesaian yang boleh dipercayai.

Pelaksanaan kod:

Cara yang paling boleh dipercayai ialah menggunakan kaedah JToken.Parse JSON.NET dan menyarangkannya dalam blok try-catch. Ini membolehkan menghuraikan rentetan dan menangkap sebarang pengecualian yang menunjukkan JSON tidak sah.

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;
    }
}
Salin selepas log masuk
Ruang nama

System.Json.NET Framework 4.5 juga menyediakan kaedah JsonValue.Parse:

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());
}
Salin selepas log masuk

Tiada kod diperlukan:

Untuk rentetan JSON yang lebih kecil, anda boleh menggunakan alatan dalam talian seperti JSONLint dan JSON2CSharp untuk mengesahkan kesahihannya dan menjana kelas templat untuk penyahserilan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Kesahan Rentetan JSON Dengan Cekap Menggunakan JSON.NET atau System.Json?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan