JSON إلى واجهات TypeScript

ولّد واجهات TypeScript أو أسماء أنواع مستعارة من عيّنة JSON، مع مفاتيح اختيارية واتحادات null وأنواع متداخلة تُستنتج من المصفوفات. مجاني وخاص.

المفاتيح الغائبة عن بعض عناصر المصفوفة تصبح اختيارية (?)، وقيم null تصبح "| null"، والقيم التي تكون null دائمًا تصبح unknown.

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

أدوات ذات صلة

عرض الكل

ما هو JSON إلى TypeScript؟

الصق عيّنة من استجابة API أو ملف إعداد لتحصل على تصريحات TypeScript جاهزة للاستخدام من نوع interface (أو type). تتحول الكائنات المتداخلة إلى أنواع مصدَّرة منفصلة، وتصبح المفاتيح الغائبة من بعض عناصر المصفوفة اختيارية، وتتحول قيم null إلى أنواع اتحادية.

كيفية استخدام JSON إلى TypeScript

  1. الصق عيّنة JSON في إدخال JSON (أو انقر تحميل مثال / فتح ملف).
  2. اضبط اسم النوع الجذر (الافتراضي Root).
  3. اختر نمط الإخراج: interface أو اسم مستعار type.
  4. انسخ شيفرة TypeScript الناتجة أو تنزيل كملف.

مثال

الإدخال
{"id":1,"name":"A","tags":["x"]}
الإخراج
export interface Root {
  id: number;
  name: string;
  tags: string[];
}

متى تستخدم JSON إلى TypeScript

استخدمه لتحديد أنواع استجابات fetch وبيانات الاختبار وملفات الإعداد بسرعة. لا تكشف عيّنة واحدة كل الحالات: فتبقى تعدادات النصوص واتحادات أشكال الكائنات وسلاسل التواريخ أنواع string عادية أو مدمجة، فراجع الناتج وحسّنه، أو استخدم مولدًا قائمًا على JSON Schema للعقود.

كيف يعمل JSON إلى TypeScript

تُجتاز العيّنة تكراريًا ويجمع كل موضع الأنواع التي رآها. تُدمج مصفوفات الكائنات في نوع واحد: فالمفتاح الغائب من بعض العناصر يصبح اختياريًا، والمفتاح الذي يكون null في موضع ما يصبح قابلًا لـ null، والأعداد الصحيحة المختلطة بكسرية تصبح نوع الفاصلة العائمة، وأي خلط آخر للأنواع يعود إلى نوع ديناميكي. وتصبح الكائنات المتداخلة أنواعًا مسماة (PascalCase للمفتاح مع إفراد مفاتيح المصفوفات: orders ← Order) مع لواحق رقمية عند تعارض الأسماء. ويقابل ناتج TypeScript الأعداد الصحيحة والكسرية بـ number والنصوص بـ string والمنطقية بـ boolean والمصفوفات بـ T[] والقيم القابلة لـ null بـ T | null والديناميكية بـ unknown. وتوضع علامات اقتباس على المفاتيح التي ليست معرّفات صالحة ("first-name": string).

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

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

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

لماذا نُوعت خاصية بـ unknown؟

كانت قيمتها null في كل العيّنات (أو كانت المصفوفات فارغة)، فلم يمكن استنتاج نوع حقيقي. أضف عيّنة بقيمة حقيقية أو عدّل النوع يدويًا.

كيف تُكتشف الخصائص الاختيارية؟

عندما تكون القيمة العليا أو مفتاح متداخل مصفوفة كائنات، يُعلَّم المفتاح الموجود في بعض الكائنات فقط بـ ?.

هل ينتج تحققًا وقت التشغيل؟

لا، يُصدر تصريحات الأنواع فقط، وهي تختفي عند التصريف. استخدم مدققًا مثل JSON Schema إذا احتجت فحوصات وقت التشغيل.

الخطوات التالية المقترحة

منسّق JSON
نسّق JSON بمسافتين أو 4 مسافات أو Tab، مع ترتيب اختياري للمفاتيح، واعرف السطر والعمود الدقيقين لأخطاء الصياغة. يعمل داخل متصفحك.
أداة التهريب وإلغائه
أداة واحدة لتهريب السلاسل أو إلغاء تهريبها لـ JSON وJavaScript وHTML وXML ومكونات URL والتعابير النمطية وسلاسل SQL وCSS ووسائط الصدفة.
مصغّر JSON
صغّر JSON بإزالة كل المسافات غير المؤثرة مع الحفاظ على القيم وترتيب المفاتيح والأعداد الكبيرة. يعرض الحجم الموفَّر. مجاني داخل المتصفح.
باحث مسارات JSON
اعرض كل مسار في مستند JSON بصيغة JSONPath أو JavaScript أو jq، وانقر مسارًا لرؤية قيمته، أو اكتب مسارًا للبحث عنه. يعمل داخل متصفحك.
مقارنة JSON
قارن مستندي JSON بنيويًا: شاهد القيم المضافة والمحذوفة والمغيَّرة بحسب JSONPath مع تجاهل ترتيب المفاتيح والتنسيق. مجاني ويعمل داخل متصفحك.
استعلام JSON (JSONPath)
استعلم عن JSON بـ JSONPath: أحرف بدل وبحث تكراري وشرائح ومرشّحات مثل [?(@.price < 10)]. تتحدّث النتائج أثناء الكتابة. ليست صياغة jq.

استكشف المزيد من الفئات