דלג לתוכן הראשי

ממיר 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 ישירות בדפדפן. שום דבר לא נשלח לשרת.

  1. 1
    JSON מפוענח ומאומת
    הקלט שלך מועבר ל-JSON.parse. אם הוא נכשל, שגיאת הפענוח המדויקת עולה מיד מתחת לקלט. פענוח מוצלח מפיק עץ ערכים מוקלד שמניע את שאר ההמרה.
  2. 2
    הסקת סוג רקורסיבית
    פונקציית getType רקורסיבית עוברת על כל צומת: פרימיטיבים ממופים ל-string, number, boolean, או null; אובייקטים מפעילים ממשק חדש בעל שם; מערכים של אובייקטים מקבלים את המפתחות שלהם ממוזגים על פני כל האלמנטים כך שמפתחות שקיימים רק בחלק מהפריטים הופכים לאופציונליים וטיפוסי ערך מתנגשים מחוברים עם |.
  3. 3
    שמות ממשק בטוחים-מהתנגשות
    כל אובייקט מקונן מקבל שם PascalCase נגזר ממפתח ה-JSON שלו (snake_case, kebab-case ורווחים כולם מנורמלים). אם שני אובייקטים שונים מבנית היו חולקים את אותו שם, סיומת מספרית מתווספת (Data, Data2, …) במקום לדרוס בשקט את ההגדרה הקודמת.
  4. 4
    פלט מוצג וניתן להורדה
    ממשקים מקוננים נפלטים תחילה, ואז הסוג השורשי, מעוצב כ-export interface או export type בהתאם לבחירתך. התוצאה ניתנת להעתקה ללוח או להורדה כקובץ .ts — הכול בנוי עם Blob סטנדרטי ללא מסע הלוך-חזור לשרת.

כלים קשורים

שאלות נפוצות