JSON إلى TypeScriptواجهات وأسماء أنواع محلية
ar

AppHelp

حوّل JSON إلى أنواع TypeScript

الصق كائن JSON أو مجموعة عينات واحصل فورًا على تعريفات TypeScript قابلة للتحرير مع استنتاج الحقول الاختيارية وخيارات التسمية والنسخ وتنزيل .ts.

مساحة إنشاء أنواع JSON

الصق عينة JSON لتحصل فورًا على تعريفات TypeScript قابلة للتحرير.

يعمل محليًا
174 حرفًا16 أسطر
مخرجات TypeScript
array2 أنواع4 خصائص
export type Root = RootItem[];

export interface RootItem {
  id: number;
  name: string;
  roles: string[];
  nickname?: string;
}

تُستنتج الأنواع من قيم العينة. راجع الحقول الاختيارية والقابلة لـ null والمصفوفات الفارغة قبل الاستخدام الإنتاجي.

مهام شائعة

  • JSON إلى TypeScript
  • محول JSON TypeScript
  • مولد واجهة TypeScript
  • إنشاء TypeScript من JSON
  • JSON إلى TS أونلاين
  • مصفوفة JSON TypeScript
  • اسم نوع من JSON
  • مولد أنواع للواجهة الأمامية
  • تحويل JSON محلي
  • أداة TypeScript مجانية

إجابة سريعة

الصق JSON صالحًا لإنشاء واجهات TypeScript أو أسماء أنواع فورًا. تتحول الكائنات المتداخلة إلى تصريحات مسماة، وتُدمج عينات المصفوفة، ويمكن جعل المفاتيح المفقودة اختيارية، وتتحول القيم المختلطة إلى اتحادات مع إبقاء null صريحًا؛ وكل ذلك محليًا داخل المتصفح.

طريقة الاستخدام

  1. 1. الصق JSON ممثلًا للبياناتاستخدم عينة API حقيقية بلا معلومات حساسة. وجود عدة كائنات في المصفوفة يحسن استنتاج المفاتيح الاختيارية والاتحادات.
  2. 2. اضبط شكل المخرجاتاختر اسم الجذر وinterface أو type ونمط المصفوفة وقواعد الاختيار وreadonly والتنسيق.
  3. 3. راجع الحالات الحديةتحقق من المصفوفات الفارغة وnull والأنواع المختلطة وتواريخ ISO والمفاتيح المعاد تسميتها مقابل عقد API الفعلي.
  4. 4. انسخ أو نزّلانسخ التصريحات أو نزّل types.ts ثم أضف التعليقات أو enums أو الأنواع المميزة أو التحقق وقت التشغيل.

أمثلة

كائن بسيط

الإدخال
{"id":1,"name":"Ada","active":true}
الإخراج
export interface Root { id: number; name: string; active: boolean; }

مفتاح اختياري في مصفوفة

الإدخال
[{"id":1},{"id":2,"nickname":"lin"}]
الإخراج
export interface Root { id: number; nickname?: string; }

عند تفعيل الاستنتاج تحصل المفاتيح غير الموجودة في كل العينات على ?.

حقل يقبل null

الإدخال
[{"score":9.5},{"score":null}]
الإخراج
score: number | null;

يتم الاحتفاظ بـ null بدل تحويله بصمت إلى any.

حالات استخدام شائعة

  • بدء أنواع استجابات API لمشروع واجهة أمامية
  • توثيق حمولات Webhook وملفات الإعداد
  • مقارنة عدة عينات قبل تعريف عقد البيانات
  • إنشاء أنواع أولية للاختبارات والبيانات التجريبية وخطوط المعالجة
  • تحويل أمثلة JSON إلى تصريحات قابلة لمراجعة الشيفرة

حالات خاصة

  • لا تثبت عينة واحدة كل الحقول الاختيارية أو قيم enum؛ تعطي الكائنات المتنوعة استنتاجًا أفضل.
  • تتحول المصفوفة الفارغة إلى unknown[] أو any[] لعدم وجود عنصر يمكن ملاحظته.
  • تبقى سلاسل ISO من نوع string افتراضيًا؛ وحتى مع Date تظل بيانات JSON وقت التشغيل سلاسل.
  • يغير camelCase أسماء المفاتيح وقد يتطلب طبقة ربط مع واجهات snake_case.
  • أنواع TypeScript الثابتة لا تتحقق من البيانات وقت التشغيل؛ استخدم مخططًا للبيانات غير الموثوقة.

الميزات

  • تحويل فوري من JSON إلى TypeScript دون رفع البيانات
  • واجهات أو أسماء أنواع مع اسم جذر مخصص
  • استنتاج الكائنات والمصفوفات والاتحادات وnull والمفاتيح الاختيارية
  • خيارات readonly والفواصل والتصدير وcamelCase وDate والمصفوفات
  • أربع عينات واقعية ورسائل خطأ JSON مباشرة
  • نسخ الشيفرة أو تنزيل ملف .ts قابل للتحرير

الأسئلة الشائعة

هل تنشئ الأداة interface أم type؟
كليهما. يُطبق النمط المختار على كل تصريحات الكائنات الناتجة.
كيف تُكتشف الخصائص الاختيارية؟
إذا غاب مفتاح عن بعض كائنات المصفوفة يحصل على ? عند تفعيل الخيار.
كيف تُعالج null والقيم المختلطة؟
تُجمع الأنواع المرصودة في اتحاد، مثل number | null.
ما نوع المصفوفة الفارغة؟
من دون عنصر للاستنتاج تنتج الأداة unknown[] أو any[] بحسب الاختيار.
هل يتحقق TypeScript الناتج من JSON وقت التشغيل؟
لا. تُزال أنواع TypeScript وقت التشغيل؛ أضف مخطط تحقق للبيانات غير الموثوقة.
هل يتم رفع JSON الخاص بي؟
لا. التحليل والاستنتاج والنسخ وإنشاء .ts كلها تتم محليًا في المتصفح.