Menyemak JToken Kosong atau Null dalam JObject
Apabila melelaran melalui sifat JObject, adalah penting untuk mengendalikan kes di mana harta mungkin tiada atau mengandungi nilai kosong. Mari kita periksa senario yang sering dihadapi semasa memetakan data JSON kepada parameter SQL.
Dalam kod anda, anda mengakses sifat tertentu menggunakan item["thisParameter"]. Untuk menyemak sama ada sifat ini wujud, anda tidak boleh menggunakan item["thisParameter"]. Kira kerana ia tidak memberikan keselamatan nol.
Sebaliknya, untuk menentukan sama ada sifat wujud dalam JObject, gunakan petak sintaks kurungan dan semak sama ada hasilnya adalah batal:
JToken token = item["thisParameter"]; if (token != null) { // Property exists }
Sekarang, mari kita atasi isu nilai kosong. "Kosong" boleh mempunyai makna yang berbeza bergantung pada konteks. Sebagai contoh, tatasusunan kosong (JTokenType.Array) tidak mempunyai unsur, manakala objek kosong (JTokenType.Object) tidak mempunyai sifat. Untuk mengendalikan senario sedemikian, anda boleh membuat 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) } }
Dengan menggunakan kaedah sambungan ini, anda boleh menyemak dengan mudah sama ada JToken adalah batal atau kosong berdasarkan kriteria yang anda tetapkan.
Atas ialah kandungan terperinci Bagaimana untuk menyemak JToken Kosong atau Null dalam JObject?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!