محوّل JSON إلى C++
حوّل JSON إلى هياكل وفئات C++ لتطوير تطبيقات C++
مدخل JSON
مخرج C++
ما هو تحويل JSON إلى C++؟
لا يدعم C++ تنسيق JSON بشكل مدمج. تتولى مكتبات مثل nlohmann/json أو RapidJSON عملية التحليل. تولّد هذه الأداة هياكل وفئات C++ من ملف JSON لتتمكن من ربط البيانات بهياكل مكتوبة بالأنواع. تحدد مواصفات JSON تنسيق المدخلات.
يتم التحويل في متصفحك. حدد اسم الهيكل واختياريًا مساحة الأسماء في لوحة الإعدادات. لا يُرسل أي شيء إلى خادم. الأنواع المولّدة تعمل مع C++11 وما بعده. لاستخدام C الصرف، استخدم JSON إلى C.
كيفية استخدام هذه الأداة
الصق أو ارفع JSON
الصق ملف JSON أو ارفعه. حدد اسم الهيكل واختياريًا مساحة الأسماء في لوحة الإعدادات. سيظهر خطأ إذا كان JSON غير صالح. استخدم مدقق JSON للتحقق من الصياغة أولًا.
راجع مخرج C++
يعرض اللوح الأيمن هياكل C++ المولّدة. أضف توجيهات include لـ nlohmann/json أو RapidJSON ومنطق التحليل حسب الحاجة. تصبح المصفوفات std::vector أو حاويات مشابهة.
أمثلة JSON إلى C++
إليك مثال على توليد هياكل C++ من كائن JSON.
مثال: سجل مشترك
مدخل JSON:
مخرج C++ المولّد:
متى يفيدك تحويل JSON إلى C++
عند بناء تطبيقات C++ أو محركات ألعاب أو أنظمة مدمجة تستهلك واجهات REST API أو ملفات إعداد، تحتاج إلى هياكل مكتوبة بالأنواع لبيانات JSON. لصق مثال هنا يمنحك هياكل وفئات C++ جاهزة للاستخدام مع nlohmann/json أو RapidJSON. كتابة الأنواع يدويًا لبيانات JSON معقدة ومتداخلة أمر مرهق؛ تستنتج هذه الأداة البنية من مثالك. لاستخراج قيم محددة أولًا، استخدم jq.
الأسئلة الشائعة
أي مكتبة JSON يجب أن أستخدم؟
nlohmann/json تعتمد على ملفات الرأس فقط وسهلة التكامل. RapidJSON أسرع للبيانات الكبيرة. كلتاهما مستخدمتان على نطاق واسع. nlohmann/json لها واجهة برمجية أبسط؛ RapidJSON أفضل للتحليل الحرج من حيث الأداء.
هل تدعم الكائنات المتداخلة؟
نعم. تصبح كائنات JSON المتداخلة هياكل متداخلة. تصبح المصفوفات std::vector أو حاويات مشابهة. يدعم المولّد عمق تداخل غير محدود.
هل بياناتي خاصة؟
نعم. يعمل التوليد بالكامل في متصفحك. لا يُرسل أي JSON أو كود إلى أي خادم.
C++11 أم C++17؟
يستخدم الكود المولّد ميزات C++ القياسية. std::vector وstd::string تعملان مع C++11. تدعم nlohmann/json C++11 وما بعده. للنوع الاختياري، استخدم std::optional (C++17) أو مكتبة مناسبة.
هل يمكن استخدامه مع Qt أو Unreal؟
نعم. الهياكل المولّدة هي كود C++ صرف. Qt لديها QJsonDocument؛ Unreal لديها معالجة JSON خاصة بها. يمكنك تكييف الأنواع المولّدة أو استخدامها كما هي مع nlohmann/json.
أدوات ذات صلة
nlohmann/json. RapidJSON. مواصفات JSON. MDN JSON. cppreference.