محوّل JSON إلى C
حوّل JSON إلى هياكل C لتطوير تطبيقات C
مدخل JSON
مخرج C
ما هو تحويل JSON إلى C؟
لا تدعم لغة C أنواع JSON أصليًا. تتولى مكتبات مثل json-c أو cJSON تحليل JSON في وقت التشغيل. تولّد هذه الأداة هياكل C من ملف JSON لتتمكن من ربط البيانات المحللة بهياكل مكتوبة بالأنواع. تحدد مواصفات JSON تنسيق المدخلات.
يتم التحويل في متصفحك. حدد اسم الهيكل في لوحة الإعدادات. لا يُرسل أي شيء إلى خادم. الهياكل المولّدة تعمل مع مشاريع C. لاستخدام C++، استخدم JSON إلى C++ للفئات وstd::vector.
كيفية استخدام هذه الأداة
الصق أو ارفع JSON
الصق ملف JSON أو ارفعه. حدد اسم الهيكل في لوحة الإعدادات. سيظهر خطأ إذا كان JSON غير صالح. استخدم مدقق JSON للتحقق من الصياغة أولًا.
أمثلة JSON إلى C
إليك مثال على توليد هياكل C من كائن JSON.
مثال: سجل مشترك
مدخل JSON:
مخرج C المولّد:
متى يفيدك تحويل JSON إلى C
عند كتابة أنظمة مدمجة أو برامج ثابتة أو كود C قديم يستهلك واجهات REST API أو ملفات إعداد، تحتاج إلى تعريفات هياكل لبيانات JSON. لصق مثال هنا يمنحك هياكل C جاهزة للاستخدام مع cJSON أو json-c. كتابة الهياكل يدويًا لبيانات JSON معقدة ومتداخلة عرضة للأخطاء؛ تستنتج هذه الأداة البنية من مثالك. لاستخراج قيم محددة أولًا، استخدم jq.
الأسئلة الشائعة
أي مكتبة JSON للغة C؟
cJSON خفيفة ومستخدمة على نطاق واسع. json-c خيار آخر. كلتاهما تحللان JSON إلى شجرة يمكنك اجتيازها لملء الهياكل. cJSON ملف واحد وسهل التضمين.
كيف أتعامل مع السلاسل والمصفوفات؟
تُعيَّن السلاسل إلى char* أو مخازن ذات حجم ثابت. تُعيَّن المصفوفات إلى مؤشرات أو مصفوفات ذات حجم ثابت. يجب إدارة الذاكرة عند ملء الهياكل. استخدم cJSON_GetObjectItem وcJSON_GetArrayItem للاجتياز ونسخ القيم.
هل بياناتي خاصة؟
نعم. يعمل التوليد بالكامل في متصفحك. لا يُرسل أي JSON أو كود إلى أي خادم.
هل يمكن استخدامه في الأنظمة المدمجة؟
نعم. cJSON مصمم للاستخدام المدمج. الهياكل المولّدة كود C صرف. قد تحتاج إلى تعديل أحجام المخازن الثابتة أو استخدام التخصيص الديناميكي حيث يكون مدعومًا.
الكائنات المتداخلة مقابل المؤشرات؟
تصبح كائنات JSON المتداخلة هياكل متداخلة أو مؤشرات إلى هياكل. يولّد المحوّل الهيكل؛ أنت تختار استراتيجية التخصيص (المكدس، الكومة، أو الثابت).