Rumah > pangkalan data > tutorial mysql > Bagaimana Mengendalikan JToken Kosong atau Null Apabila Memetakan JSON ke Parameter SQL dalam C#?

Bagaimana Mengendalikan JToken Kosong atau Null Apabila Memetakan JSON ke Parameter SQL dalam C#?

Susan Sarandon
Lepaskan: 2025-01-05 22:35:43
asal
736 orang telah melayarinya

How to Handle Empty or Null JTokens When Mapping JSON to SQL Parameters in C#?

Menyemak JToken Kosong atau Null dalam JObject

Masalah:

Dalam C# aplikasi, kod berikut cuba untuk menggelung melalui JArray JObjects dan memberikan nilai kepada parameter SQL menggunakan kaedah JTokenToSql. Walau bagaimanapun, jika harta dalam JObject kosong atau batal, kaedah JTokenToSql tidak berfungsi seperti yang diharapkan.

JArray clients = (JArray)clientsParsed["objects"];

foreach (JObject item in clients.Children())
{
    command.Parameters["@MyParameter"].Value = JTokenToSql(item["thisParameter"]);
}
Salin selepas log masuk

JTokenToSql ditakrifkan sebagai:

public static object JTokenToSql(JToken obj)
{
    if (obj.Any())
        return (object)obj;
    else
        return (object)DBNull.Value;
}
Salin selepas log masuk

Penyelesaian:

Untuk menyemak sama ada sifat wujud pada JObject, gunakan kurungan segi empat sama sintaks dan semak sama ada hasilnya adalah batal. Jika harta itu wujud, JToken akan dikembalikan walaupun nilainya batal dalam JSON.

JToken token = jObject["param"];
if (token != null)
{
    // the "param" property exists
}
Salin selepas log masuk

Untuk menyemak sama ada JToken tidak kosong, pertimbangkan untuk menggunakan kaedah sambungan seperti berikut:

public static class JsonExtensions
{
    public static bool IsNullOrEmpty(this JToken token)
    {
        return (token == null) ||
               (token.Type == JTokenType.Array && !token.HasValues) ||
               (token.Type == JTokenType.Object && !token.HasValues) ||
               (token.Type == JTokenType.String && token.ToString() == String.Empty) ||
               (token.Type == JTokenType.Null) ||
               (token.Type == JTokenType.Undefined)
    }
}
Salin selepas log masuk

Kaedah ini akan kembali benar jika token adalah batal, kosong atau daripada jenis yang tidak ditentukan.

Atas ialah kandungan terperinci Bagaimana Mengendalikan JToken Kosong atau Null Apabila Memetakan JSON ke Parameter SQL dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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