JSON إلى TypeScript
الصق عينة JSON واحصل على تعريفات TypeScript جاهزة للاستخدام تصف بنيتها.
تتم المعالجة محليًا في متصفحك/ بياناتك تبقى في متصفحك.
ما هي أداة JSON إلى TypeScript؟
عند استهلاك واجهة JSON في TypeScript تحتاج إلى أنواع للاستجابات. وكتابتها يدويًا لحمولات كبيرة بطيئة وعرضة للأخطاء، لذا يوفّر مولّد يستنتجها من عينة حقيقية وقتًا.
تمشي هذه الأداة على JSON وتنشئ واجهة مسمّاة (أو اسمًا مستعارًا لنوع) لكل كائن متداخل، وتدمج الكائنات الموجودة في مصفوفة بحيث تصبح المفاتيح الغائبة عن بعض العناصر اختيارية (?)، وتبني اتحادات عندما يحمل حقل أنواعًا مختلفة. يمكنك اختيار اسم الجذر ونمط interface أو type وكلمة export وخصائص القراءة فقط.
كيف تعمل؟
- الصق عينة JSON ممثِّلة ويفضل أن تحوي عدة عناصر في المصفوفة لتُكتشف الحقول الاختيارية.
- حدّد اسم النوع الجذري واختر interface أو type وخيارات export وreadonly.
- راجع التعريفات المولَّدة في الناتج.
- انسخها إلى مشروعك أو نزّل types.ts.
حالات الاستخدام الشائعة
- تعريف أنواع استجابة نقطة REST قبل كتابة شيفرة العميل.
- نمذجة ملف إعداد أو حمولة webhook.
- الحصول على مسودة أولى للأنواع لواجهة قديمة بلا توثيق.
- معرفة الحقول التي تغيب أو تكون null أحيانًا في استجابة.
أمثلة
جرّب هذا المدخل في الأداة أعلاه:
{"id":1,"name":"Ada","email":null,"tags":["math","code"],"profile":{"age":36,"admin":false},"orders":[{"sku":"A1","qty":2,"note":"gift"},{"sku":"B2","qty":1}]}export interface Root {
id: number;
name: string;
email: null;
tags: string[];
profile: Profile;
orders: Order[];
}
export interface Profile {
age: number;
admin: boolean;
}
export interface Order {
sku: string;
qty: number;
note?: string;
}
الخصوصية
تعمل أداة JSON إلى TypeScript بالكامل داخل متصفحك. يُعالَج النص أو الملفات التي تقدّمها على جهازك ولا تُرفع ولا تُسجَّل ولا تُخزَّن على خوادمنا.
القيود
تُستنتج الأنواع من عينة واحدة فقط: قد يكون حقل موجود دائمًا في عينتك اختياريًا في الواقع، وتصل التواريخ كنص string. راجعها قبل الاعتماد.
الأسئلة الشائعة
كيف تُكتشف الخصائص الاختيارية؟
عند دمج عدة كائنات (مثل عناصر مصفوفة واحدة) يُعلَّم المفتاح الغائب عن واحد منها على الأقل كاختياري بعلامة استفهام. أما المفتاح الموجود بقيمة null فيحتفظ باتحاد مع null.
كيف تُسمّى الكائنات المتداخلة؟
يحصل كل كائن متداخل على واجهة تحمل اسم مفتاحه بنمط PascalCase (تصبح orders باسم Order لعناصر المصفوفة). وتعيد الكائنات المتطابقة البنية استخدام التعريف نفسه ويُضاف لاحقة رقمية عند تعارض الأسماء.
هل تُعالَج الأعداد الكبيرة والتواريخ؟
تصبح كل أرقام JSON من النوع number والتواريخ string لأن JSON بلا نوع تاريخ. عدّل هذه الأنواع يدويًا إذا كانت شيفرتك تحوّلها إلى Date أو bigint.
أدوات ذات صلة
منسّق JSON
حوّل مستند JSON المضغوط أو غير المرتب إلى نص مقروء ومنسّق بمسافات متسقة، مع رسالة خطأ دقيقة إذا كان JSON غير صالح.
JSON والبيانات
مدقق JSON
تحقق مما إذا كان النص JSON صالحًا وحدد الحرف الدقيق الذي يحدث عنده الخطأ.
JSON والبيانات
عارض JSON
استعرض مستند JSON كشجرة قابلة للتوسيع بدل جدار من النص، مع ملخص لبنيته.
JSON والبيانات
باحث JSONPath
اكتب تعبير JSONPath وشاهد فورًا القيم التي يحددها في JSON مع المسار المُطبَّع لكل نتيجة.
JSON والبيانات
محوّل JSON إلى YAML
حوّل JSON إلى YAML مقروء بنمط الكتل مع وضع النصوص بين علامات اقتباس عند الحاجة فقط.
JSON والبيانات
محوّل JSON إلى XML
حوّل مستند JSON إلى XML سليم البنية مع تحكم في العنصر الجذري والسمات والتنسيق.
JSON والبيانات
محوّل JSON إلى CSV
الصق مصفوفة JSON واحصل على ملف CSV جاهز لـ Excel أو Google Sheets مع تسطيح البيانات المتداخلة في أعمدة.
JSON والبيانات