حول هذه الأداة
تحوّل أداة من JSON إلى بُنى Rust Serde عيّنة JSON ملصوقة إلى بُنى Rust مُعلَّقة لـ serde، بحيث يمكنك إلغاء تسلسل الحمولة نفسها دون كتابة كل حقل يدويًا. تحلّل JSON، وتستنتج أنواع Rust بشكل تكراري، وتصدر بنية #[derive(Serialize, Deserialize, ...)] لكل كائن: تصبح السلاسل String، والأعداد الصحيحة i64 (أو u64 عندما تكون كل العيّنات غير سالبة)، والأرقام الأخرى f64، والقيم المنطقية bool، والمصفوفات Vec<T>، والكائنات المتداخلة بُنى PascalCase خاصة بها تُعرَّف قبل آبائها.
كل العمل يحدث محليًا في متصفحك باستخدام JSON.parse وجافاسكريبت عادية — لا يُرفَع شيء. تُحوَّل حقول البنية إلى snake_case، وكلما اختلف مفتاح JSON عن حقل snake_case تضيف الأداة #[serde(rename = "originalKey")] كي تظل البنية مطابقة لصيغة السلك. المفاتيح الغائبة في بعض العيّنات الشقيقة، أو التي تُرى كـ null، تصبح Option<T> مع #[serde(default)] كي يتحمّل إلغاء التسلسل غيابها. المصفوفات الفارغة تعود إلى Vec<serde_json::Value>.
يبدّل مفتاح عرض العدد الصحيح بين أعداد 64-بت (i64/u64، الافتراضي) و32-بت (i32/u32)، ويرتقي إلى 64-بت تلقائيًا عندما تتجاوز قيمة معاينة نطاق 32-بت. يختار مفتاح المُشتقّات بين المجموعة الكاملة (Serialize, Deserialize, Debug, Clone) وبين Serialize, Deserialize الأدنى. يبدأ الملف بـ use serde::{Serialize, Deserialize};. انسخه أو نزّل ملف .rs.