تحويل JSON إلى Rust
تحويل بيانات JSON إلى كود Rust. توليد هياكل Rust متوافقة مع Serde لتطوير تطبيقات Rust. مجاني ويعمل في المتصفح — لا تُرسل البيانات إلى الخادم.
إدخال JSON
مخرجات Rust
ما هو محوّل JSON إلى Rust؟
تستخدم Rust الهياكل (structs) للبيانات المنظمة. عند استخدام JSON مع Serde، تحتاج إلى تعريفات هياكل مناسبة. تُعرِّف مواصفة JSON الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية، لكن Rust تحتاج إلى تعريفات هياكل صريحة لكل كائن متداخل.
تُولِّد هذه الأداة هياكل Rust من JSON. فعِّل Serde للحصول على اشتقاق Serialize/Deserialize. فعِّل أنواع Option للحقول الاختيارية. يعمل المخرج مع serde_json::from_str وserde_json::to_string.
تتم عملية التحويل بالكامل في المتصفح. لا يُرسل JSON إلى أي خادم.
متى يكون تحويل JSON إلى Rust مفيداً
عند بناء تطبيقات Rust التي تستهلك واجهات REST البرمجية وتحتاج إلى هياكل مكتوبة. الصق استجابة نموذجية هنا لتوليد الهياكل المناسبة مع دعم Serde.
كيفية استخدام هذه الأداة
الصق أو ارفع JSON
انسخ JSON والصقه في المحرر الأيسر. يمكنك أيضاً النقر على رفع الملف لتحميل ملف. استخدم زر تحميل مثال للحصول على بيانات اختبارية. حدد اسم البنية والخيارات في لوحة الإعداد.
مراجعة الهياكل المُولَّدة
تعرض اللوحة اليمنى هياكل Rust المُولَّدة. تصبح الكائنات المتداخلة هياكل منفصلة. تصبح المصفوفات <code>Vec<T></code>. إذا كانت بنية JSON غير صالحة، استخدم أولاً منسق JSON أو التحقق من JSON لإصلاحها.
نسخ أو تنزيل
استخدم نسخ أو تنزيل للحصول على الكود. أضف serde وserde_json إلى Cargo.toml. الصقه في مشروع Rust الخاص بك.
أمثلة JSON إلى Rust
مثال على توليد هياكل Rust من كائن JSON.
مثال: سجل مشترك
إدخال JSON:
مخرجات Rust المُولَّدة:
متى يكون تحويل JSON إلى Rust مفيداً
يحتاج معظم المطورين إلى هذا عند دمج واجهات REST البرمجية. الصق هنا واحصل على هياكل متوافقة مع Serde جاهزة للاستخدام.
إذا كنت بحاجة إلى دمج ملفين JSON أولاً، استخدم أداة دمج JSON المنفصلة لذلك.
كثيراً ما تكون استجابات الواجهات البرمجية أو ملفات الإعداد أو صادرات البيانات بصيغة JSON. شغِّلها هنا لتوليد هياكل Rust.
الأسئلة الشائعة
Serde أم إزالة تسلسل يدوية؟
Serde هو المعيار لـ JSON في Rust. يُولِّد Serialize وDeserialize عبر ماكرو الاشتقاق. أضف serde = { version = "1.0", features = ["derive"] } وserde_json إلى Cargo.toml.
Option للحقول الفارغة؟
فعِّل أنواع Option للحقول الاختيارية في JSON. يُغلِّف الحقول القابلة للفارغة في Option<T>.
هل تُرسل البيانات إلى أي مكان؟
لا. تتم عملية التوليد بالكامل في المتصفح. لا تُرسل أي بيانات إلى الخادم.
هل يمكنني استخدام #[serde(rename)]؟
نعم. عندما تختلف أسماء حقول Rust (snake_case) عن مفاتيح JSON (camelCase)، يُضيف المولد #[serde(rename = "jsonKey")].
ماذا يحدث للكائنات المتداخلة؟
تصبح كائنات JSON المتداخلة هياكل Rust منفصلة. تصبح المصفوفات Vec<T> من النوع المناسب.
أدوات ذات صلة
JSON في Rust — انظر Serde وserde_json. JSON — انظر مواصفة JSON.