إنشاء أنواع TypeScript من استجابة API حقيقية دون كتابتها يدويًا.
إنشاء قوالب أنواع لمستند JSON من طرف ثالث (حمولة webhook، ملف إعدادات).
توليد بيانات JSON ثابتة من واجهة TypeScript موجودة لاختبارات.
مقارنة استجابتي API عبر مقارنة الأنواع المستنتجة.
تأهيل مطوّر مبتدئ على مخطط JSON قديم بإعطائه الشكل بصيغة TS.
حول JSON إلى TypeScript
يولّد محوّل JSON إلى TypeScript واجهات TypeScript من أي بيانات JSON. يدعم الكائنات المتداخلة والمصفوفات والحقول الاختيارية وأسماء الجذور القابلة للتخصيص. يعمل كل شيء في متصفحك — لا تُرسل بياناتك أبدًا إلى خادم.
الأسئلة الشائعة
كيف يتعامل مع الكائنات المتداخلة؟
تنشئ الأداة تلقائيًا واجهات منفصلة للكائنات المتداخلة. يحصل كل كائن متداخل على واجهته الخاصة بالاسم المشتق من مفتاحه. تُعالج أيضًا مصفوفات الكائنات — تستنتج الأداة نوع العنصر من العنصر الأول.
هل تُرسل بيانات JSON إلى خادم؟
لا، يتم التحويل بالكامل في متصفحك. لا تغادر بيانات JSON جهازك أبدًا. هذا آمن للعمل مع استجابات API الحساسة أو ملفات التكوين الخاصة.
هل يمكنني تخصيص الأنواع المُنشأة؟
نعم، يمكنك تعيين اسم مخصص للواجهة الجذرية وتبديل كلمة التصدير وجعل جميع الحقول اختيارية. تساعدك هذه الخيارات على توليد أنواع تتناسب مع اتفاقيات قاعدة الكود الخاصة بك.
كيف يتعامل مع المصفوفات ذات الأنواع المختلطة أو الفارغة؟
تُكتب المصفوفات الفارغة كـ `unknown[]` (الافتراض الأكثر أمانًا). تُنتج المصفوفات ذات الأنواع المختلطة نوع عنصر اتحادي، مثل `(string | number)[]`. لمصفوفات الكائنات، يفحص الاستنتاج أول عنصر غير فارغ لاشتقاق الشكل — إن كانت عناصر مصفوفتك تحوي مفاتيح غير متجانسة، ستكون النتيجة ناقصة. إما أن تقدّم عيّنة تمثيلية بكل المفاتيح، أو ادمج الاتحاد يدويًا.
لماذا يُنتج JSON الذي يحوي حقل `null` نوع `unknown`؟
من قيمة `null` واحدة، لا يمكن لـ TypeScript استنتاج النوع المقصود — قد يكون `string | null` أو `number | null` إلخ. تُصدر الأداة `unknown` لإجبارك على الاختيار. أفضل ممارسة: قدّم عيّنة حيث كل حقل له قيمة مثال غير فارغة، ثم أضف `| null` يدويًا للاختيارية بعد التوليد.