البرمجة

استخراج قيم المفاتيح من كائن JObject في C#

في محاولتك الحالية للحصول على قيمة بواسطة المفتاح من JObject، واجهتك مشكلة في استرجاع القيمة المرتبطة بالمفتاح المحدد. للتغلب على هذه المشكلة، يمكنني أن أقدم لك تحسينات على الكود الحالي.

للقيام بذلك، يمكنك استخدام الأسلوب GetValue المتاح في JObject بشكل مباشر. يتيح لك هذا الأسلوب الوصول إلى قيمة الخاصية بناءً على اسم المفتاح بدون الحاجة إلى الحلقة التي استخدمتها في الكود السابق. فيما يلي تحسين للكود:

csharp
JObject json = JObject.Parse("{\"@STARTDATE\": \"'2016-02-17 00:00:00.000'\",\"@ENDDATE\": \"'2016-02-18 23:59:00.000'\"}"); var key = "@STARTDATE"; var value = GetJObjectValue(json, key); private string GetJObjectValue(JObject yourJObject, string key) { // استخدم الأسلوب GetValue للحصول على القيمة بناءً على المفتاح JToken token = yourJObject.GetValue(key); // تحقق مما إذا كان المفتاح موجودًا قبل الوصول إلى القيمة string value = (token != null) ? token.ToString() : "Key not found"; return value; }

تم استخدام الأسلوب GetValue مباشرة، وتمت إزالة الحلقة foreach واستخدمت التحقق المباشر من وجود المفتاح. بهذا التحسين، يمكنك الآن الحصول على القيمة المرتبطة بالمفتاح المحدد بشكل صحيح.

المزيد من المعلومات

بالطبع، دعنا نقوم بتوسيع المعلومات حول كيفية التعامل مع JObject واستخدامه في سياق تحليل واسترجاع البيانات من تنسيق JSON.

لفهم أفضل حول كيفية الحصول على القيم من JObject، يجب أن نعلم أن JObject هو عبارة عن تمثيل لكائن JSON في C#، والذي يمكن أن يحتوي على مفاتيح وقيم. الكود الذي قدمته يظهر كيف يمكن تحليل JObject واسترجاع القيم بناءً على المفاتيح.

لدينا JSON كمثال:

json
{ "@STARTDATE": "'2016-02-17 00:00:00.000'", "@ENDDATE": "'2016-02-18 23:59:00.000'" }

وفي الكود، نستخدم JObject.Parse لتحليل هذا النص JSON إلى كائن JObject. ثم نقوم بفحص المفتاح المحدد باستخدام GetValue، وهذا يعود بكائن JToken الذي يمكن تحويله إلى نوع بيانات المفتاح الفعلي (في هذه الحالة string). إذا كان المفتاح غير موجود، نقوم بإرجاع رسالة “Key not found”.

يمكننا أيضاً إضافة مزيد من التعقيدات لتحسين أداء الكود أو التعامل مع حالات خاصة، مثل التحقق من نوع القيمة قبل تحويلها إلى string، ولكن الكود الحالي يقدم فهمًا جيدًا للمبتدئين حول كيفية البدء في استخدام JObject في C#.

زر الذهاب إلى الأعلى