محول JSON إلى TypeScript مجانًا
قم بإنشاء واجهات TypeScript أو اكتب أسماء مستعارة من أي كائن أو مصفوفة JSON. الصق JSON واحصل على أنواع TypeScript جاهزة للاستخدام على الفور.
export interface User {
id: number;
name: string;
email: string;
isActive: boolean;
score: number;
tags: string[];
address?: null;
}
export interface Root {
user: User;
createdAt: string;
version: number;
}الاستخدامات الشائعة
- إنشاء أنواع TypeScript من استجابات APIالصق استجابة JSON من API وأنشئ على الفور واجهات TypeScript لجعل رمز واجهتك الأمامية آمنة النوع.
- أنواع TypeScript لكائنات الإعدادات والإعداداتإنشاء واجهات TypeScript من ملفات تكوين JSON لإضافة سلامة النوع إلى إعدادات التطبيق.
- إنشاء أنواع TypeScript من سجلات قاعدة البياناتتحويل سجلات قاعدة البيانات المصدرة JSON أو نتائج استعلام ORM إلى واجهات TypeScript لكتابة طبقة البيانات.
- بيانات وحدات اختبار النوع والتجهيزاتإنشاء واجهات TypeScript من بيانات وحدات اختبار JSON والتجهيزات لكتابة اختبارات الوحدة وقصص Storybook.
- استجابات API من الجهات الخارجية من النوعإنشاء واجهات TypeScript من استجابات API من جهات خارجية حيث تكون الأنواع الرسمية مفقودة أو غير محدثة.
كيف يعمل
تستخدم هذه الأداة خوارزمية استنتاج أنواع عودية مكتوبة يدويًا دون أي مكتبات خارجية — JSON.parse للتحقق من الإدخال وتحليله، ثم اجتياز مخصص يمر على كل قيمة في شجرة JSON ويُخرج تعريفات TypeScript interface أو type مباشرة في المتصفح. لا يُرسل أي شيء إلى خادم.
- 1تحليل JSON والتحقق منهيُمرَّر إدخالك إلى JSON.parse. إذا فشل، يظهر خطأ التحليل الدقيق فورًا أسفل الإدخال. والتحليل الناجح ينتج شجرة قيم محددة الأنواع تقود بقية التحويل.
- 2استنتاج الأنواع عوديًاتمر دالة getType العودية على كل عقدة: تُربط القيم الأولية بـ string أو number أو boolean أو null؛ وتنشئ الكائنات interface مسمّاة جديدة؛ ومصفوفات الكائنات تُدمج مفاتيحها عبر كل العناصر، فتصبح المفاتيح الموجودة في بعض العناصر فقط اختيارية وتُضم أنواع القيم المتعارضة بـ |.
- 3تسمية interface آمنة من التصادميحصل كل كائن متداخل على اسم بصيغة PascalCase مشتق من مفتاح JSON الخاص به (مع توحيد snake_case وkebab-case والمسافات). إذا كان كائنان مختلفان بنيويًا سيشتركان في الاسم نفسه، تُضاف لاحقة رقمية (Data وData2 و…) بدلًا من الكتابة فوق التعريف الأسبق بصمت.
- 4عرض الإخراج وإتاحته للتنزيلتُخرج الواجهات المتداخلة أولًا، ثم النوع الجذري، منسّقة كـ export interface أو export type حسب اختيارك. يمكن نسخ النتيجة إلى الحافظة أو تنزيلها كملف .ts — وكل ذلك مبني بـ Blob قياسي دون ذهاب وإياب إلى خادم.
أدوات ذات صلة
JSON Schema إلى نموذج
الصق JSON Schema واحصل على نموذج حي يعمل — حقول نص وأرقام ومربعات اختيار وقوائم منسدلة وقوائم — ثم انسخ JSON الذي تنتجه مدخلاتك. رائع لتجريب أجسام طلبات API. يعمل في متصفحك.
اختبار سرعة الكتابة (WPM)
قِس سرعة كتابتك (WPM) ودقتك باختبارات محددة بالوقت أو بعدد الكلمات أو بالاقتباسات أو بنص مخصص أو بوضع Zen. سرعة WPM مباشرة، والسرعة الخام، والثبات، ورسم بياني للنتائج، ولغات متعددة، وملاحظات لكل حرف — كل ذلك في متصفحك.
مولّد CSS clamp()
أنشئ قيمة CSS clamp() المرنة للخطوط والمسافات سريعة الاستجابة. حدّد الحجم الأدنى/الأقصى ونطاق نافذة العرض، وشاهد معاينة مباشرة، وانسخ سطر CSS الواحد.