> 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/data-to-json.md).

# Data to JSON

هذه الدالة تقوم بتحويل القيم المربوطة إلى مخرج واحد على شكل سلسلة JSON عند بدء التسجيل. استخدم حقول العنوان (Header) لتسمية كل عنصر بيانات. فقط المداخل الموصلة سيتم تصديرها.

## 📥 Inputs

* `Start Logging` (input socket) يتحكم بوقت جمع وتصدير البيانات. مرّر إشارة منطقية (boolean) لبدء عملية التصدير.
* `Data_1` ... `Data_10` (input sockets) مداخل عامة يمكن أن تستقبل أرقامًا، نصًا، قوائم أو قيمًا عامة أخرى. فقط المداخل الموصولة تُدرج في JSON الناتج.

## 📤 Outputs

* `JSON Data` (output socket) سلسلة JSON تحتوي أزواج المفتاح/القيمة الحالية المصدَّرة. عندما لا يكون `Start Logging` مفعلًا يكون هذا المخرج فارغًا/None.

## 🕹️ Controls

* `Data_1 Header` حتى `Data_10 Header` حقول نصية تدخل فيها أسماء مقروءة لكل مدخل بيانات مطابق.
  * اترك حقل العنوان فارغًا لاستخدام التسمية الافتراضية `Data_X` لذلك المدخل.
  * فقط المداخل الموصولة ستظهر في JSON الناتج؛ الحقول الفارغة سيتم تجاهلها.
* `Set Data Headers (UI note)` تسمية معلوماتية في واجهة المستخدم تذكّرك أن الحقول الفارغة سيتم تجاهلها.

## 🎯 Features

* يصدر عدة مداخل عامة في كائن JSON واحد.
* يتيح لك تعيين مفاتيح قابلة للقراءة باستخدام حقول العناوين، أو الرجوع إلى مفاتيح افتراضية `Data_X`.
* يضمّن تلقائيًا فقط المداخل الموصولة في وقت التسجيل.
* ينتج سلسلة JSON مفردة مناسبة للحفظ أو الإرسال عبر REST/MQTT أو للتسجيل في ملفات.

## ⚙️ Running mechanism

* يراقب البلوك مدخل `Start Logging`. عند تحوله إلى true يقوم بالخطوات التالية:
  * يقرأ نصوص العناوين من الحقول العشرة.
  * يجمع القيم من جميع مداخل `Data_1` … `Data_10` الموصولة.
  * يطابق المداخل الموصولة بالعناوين المقابلة (أو بتسميات `Data_X` الافتراضية).
  * يبني كائن JSON يطابق العناوين بالقيم ويخرجه كسلسلة JSON على `JSON Data`.
* إذا لم يُعطَ مشغل تسجيل، لا ينتج البلوك أي مخرج JSON.
* إذا لم تتطابق أعداد العناوين مع عدد المداخل الموصولة، يظهر خطأ في واجهة المستخدم — تأكد أن العناوين تتوافق مع البيانات التي تريد تصديرها.

## 📝 Usage instructions

1. املأ حقول العناوين `Data_1 Header` … `Data_10 Header` بأسماء معبرة للبيانات التي تخطط لتصديرها، أو اتركها فارغة لاستخدام القيم الافتراضية.
2. وصل المصادر التي تريد تصديرها في مآخذ `Data_X` المقابلة.
3. أرسل إشارة TRUE إلى `Start Logging` لإنتاج سلسلة JSON على `JSON Data`.
4. استخدم مخرج `JSON Data` مع بلوكات التصدير (مثل file writer، `REST API - Post`، `MQTT Publish`) أو اعرضها في واجهة المستخدم.

## 💡 Tips and Tricks

* اجمعها مع بلوكات القياس والاكتشاف لإنشاء سجلات منظمة:
  * استخدم مخرجات من `Object Detection` أو `Object Detection - Custom` كمدخلات لتلخيص الكائنات في JSON.
  * مرّر إحداثيات الهيئة أو الهيكل العظمي من `Pose Estimation` أو `Skeleton Estimation` لتصدير بيانات وضعية الإنسان.
  * استخدم نتائج من `Find Object`, `Histogram On Line`, أو `Measure Position Distance` للتحليلات وأدرجها في سجلات JSON.
  * أرسل مخرجات OCR من `OCR` أو `OCR (EasyOCR)` إلى هذا البلوك لتصدير النص المعترف به مع الطوابع الزمنية.
* للتخزين الدائم أو التسجيل المستمر:
  * مرّر `JSON Data` إلى `CSV Export`, `Image Logger` (لبيانات الوصف المرتبطة بالصورة)، أو بلوكات REST/MQTT لإرسال البيانات إلى خادم أو قاعدة بيانات.
* صدّر انتقائيًا القيم الموصولة فقط:
  * ليس من الضروري ملء كل عنوان. فقط مآخذ `Data_X` الموصولة يتم تضمينها، لذا يمكنك توصيل الإشارات الضرورية فقط.

## 🛠️ Troubleshooting

* إذا لم يظهر JSON عندما تتوقعه:
  * تحقق أن `Start Logging` يتلقى قيمة TRUE.
  * تأكد من توصيل مدخل واحد على الأقل من `Data_X`.
* إذا كانت أسماء الحقول لا تطابق المفاتيح المصدرة:
  * تأكد من ملء حقل النص المقابل `Data_X Header`. الحقول الفارغة تعود إلى مفاتيح `Data_X` الافتراضية.
* إذا ظهر خطأ يشير إلى عدم تطابق الأعداد:
  * تأكد أن عدد المداخل الموصولة يتوافق مع العناوين التي تنوي استخدامها، أو سمّ الحقول فقط للمداخل التي قمت بتوصيلها.
* لإرسال JSON إلى نظام خارجي:
  * استخدم بلوكات مثل `REST API - Post`, `MQTT Publish`، أو بلوكات قواعد البيانات مثل `SQL-DB Operations` بعد هذا البلوك لإرسال أو تخزين الحمولة JSON.
