> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/data-logic/data-operations/parse-data-dictionary.md).

# Parse Data Dictionary

تقوم هذه الدالة باستخراج قيمة واحدة من قاموس (dictionary) يُمرَّر كنص أو ككائن قاموس مُحلَّل بالفعل. تساعدك على اختيار مفتاح من البيانات الواردة وإخراج القيمة المرتبطة به لاستخدامها في بقية النظام.

## 📥 المداخل (Sockets)

`Input Dictionary (String)`\
أدخل نصًا بصيغة JSON أو قاموسًا جاهزًا. واجهة المستخدم تعرض مثالًا للصيغة المطلوبة لتسهيل التحضير.

## 📤 المخارج (Sockets)

`Output Data`\
القيمة المرتبطة بالمفتاح الذي تختاره من القائمة. إذا كان المفتاح غير موجود أو لم يُقدَّم إدخال، قد يكون المخرج فارغًا.

## 🕹️ عناصر التحكم

`Select key from input data dict` قائمة منسدلة لاختيار المفتاح الذي تريد استخراج قيمته من القاموس الوارد.

`Input example / helper text` نص توضيحي يظهر مثالًا لصيغة الإدخال (مثل {"name": "product", "id": 345}) لمساعدتك.

## 🎯 ما يفعله هذا البلوك

* يقرأ تلقائيًا نصوص شبيهة بـ JSON أو مدخلات قاموسية ويعرض المفاتيح المتاحة.
* إذا تغيرت المفاتيح المتاحة، تتحدّث القائمة المنسدلة لتسمح لك باختيار المفتاح الجديد.
* يُخرج فقط القيمة المختارة (وليس القاموس كله)، مما يسهل تمرير قيمة مفردة لباقي البلوكات.

## 📝 كيفية الاستخدام

1. أدخل سلسلة JSON أو قاموس في المقبس `Input Dictionary (String)`.
2. افتح القائمة `Select key from input data dict` واختر المفتاح الذي تحتاج قيمته.
3. ستظهر القيمة المختارة في المقبس `Output Data` ليستخدمها بلوكات أخرى.

## ⚙️ سلوك التشغيل

عند تشغيل البلوك، يتحقق من الإدخال الوارد. إذا كان إدخالًا نصيًا يمثل قاموسًا، يقوم بتحليله (parse) ويعرض المفاتيح العليا (top-level keys) في القائمة المنسدلة. عند اختيار مفتاح، يخرج البلوك القيمة المرتبطة عبر `Output Data`. تتحدّث القائمة تلقائيًا عندما يقدّم الإدخال مجموعة مفاتيح مختلفة.

## 💡 نصائح وحيل

* استخدمه مع بلوكات التواصل لمعالجة الرسائل الواردة:
  * وصل `REST API - Get` (استخدم `Response`) لتحليل استجابات الـ API.
  * وصل `MQTT Subscribe` (استخدم `Data`) لاستخراج حقول من الرسائل الواردة.
* استخدمه مع بلوكات التخزين/التدفق:
  * مرِّر مخرجات `Data Read Local` أو `Data Read Global` لتحليل القواميس المخزنة.
  * اربطه مع `Data to JSON` إذا احتجت تحويل بيانات مُنظَّمة إلى نص أولًا ثم استخراج مفتاح محدد هنا.
* حفظ أو فحص النتائج:
  * أرسل `Output Data` المستخرج إلى `CSV Export` أو `Image Logger` (إذا كنت تحفظ ميتاداتا) للتسجيل.
  * استخدم `Debug Input` لفحص القيمة المُحلَّلة بسرعة أثناء التطوير.
* تلميح تحقق: عند الاختبار اليدوي، جرِّب إرسال قيمة من `String Input` للتأكد من أن القائمة المنسدلة تمتلئ بشكل صحيح.

## 🛠️ استكشاف الأخطاء وإصلاحها

* لا يظهر شيء في القائمة المنسدلة: تأكد أن الإدخال هو نص JSON صالح أو كائن قاموس ويحتوي على مفاتيح على المستوى الأعلى.
* تنسيق الإدخال غير صالح: أدخل نصًا بأسلوب JSON (المفاتيح والسلاسل بين علامات اقتباس) أو قاموسًا صحيحًا من البلوكات السابقة.
* المفتاح المختار يعطي مخرجًا فارغًا: تأكد أن المفتاح موجود في القاموس الحالي وأنك اخترت العنصر الصحيح من القائمة.
* تغير المفاتيح لكن القائمة لا تحدث: مرر قاموسًا جديدًا (أو أعد تقييم البلوك السابق) حتى يتمكن البلوك من اكتشاف مجموعة المفاتيح الجديدة وتحديث القائمة.
