مرکزی مواد پر جائیں

مفت JSON سے TypeScript کنورٹر

کسی بھی JSON آبجیکٹ یا صف سے TypeScript interfaces یا type aliases بنائیں۔ اپنا JSON پیسٹ کریں اور فوری طور پر استعمال کے لیے تیار TypeScript types حاصل کریں۔

لوڈ ہونے کے بعد آف لائن کام کرتا ہے
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;
}

عام استعمالات

  • API ردعمل سے TypeScript اقسام تخلیق کریںایک API JSON ردعمل پیسٹ کریں اور فوری طور پر TypeScript interfaces تخلیق کریں تاکہ اپنے فرنٹ اینڈ کوڈ کو قسم محفوظ بنائیں۔
  • تشکیل اور سیٹنگز کی اشیاء کے لیے TypeScript اقسامJSON ترتیب کی فائلوں سے TypeScript interfaces تخلیق کریں تاکہ اپنی ایپ لیکیشن کی سیٹنگز میں قسم کی حفاظت شامل کریں۔
  • ڈیٹا بیس کے ریکارڈ سے TypeScript اقسام تخلیق کریںJSON-برآمد شدہ ڈیٹا بیس کے ریکارڈز یا ORM کے نتائج کو ڈیٹا کی قسم کے لیے TypeScript interfaces میں تبدیل کریں۔
  • نقل ڈیٹا اور ٹیسٹ فکسچرز کی قسم کریںJSON نقل ڈیٹا اور ٹیسٹ فکسچرز سے TypeScript interfaces تخلیق کریں تاکہ اپنے یونٹ ٹیسٹس اور Storybook کہانیوں کی قسم کریں۔
  • تیسری پارٹی API ردعمل کی قسم کریںتیسری فریق کے API ردعمل سے TypeScript interfaces تخلیق کریں جہاں سرکاری اقسام گم ہیں یا پرانی ہیں۔

یہ کیسے کام کرتا ہے

یہ ٹول بغیر کسی بیرونی لائبریری کے ہاتھ سے لکھا تکراری type inference الگورتھم استعمال کرتا ہے — ان پٹ جانچنے اور پارس کرنے کے لیے JSON.parse، پھر ایک حسب ضرورت گزر جو JSON ٹری کی ہر قدر پر چلتا ہے اور براہ راست براؤزر میں TypeScript interface یا type ڈیکلریشنز بناتا ہے۔ کچھ بھی سرور کو نہیں بھیجا جاتا۔

  1. 1
    JSON پارس اور جانچا جاتا ہے
    آپ کا ان پٹ JSON.parse کو دیا جاتا ہے۔ ناکام ہو تو بالکل درست پارس خرابی فوراً ان پٹ کے نیچے دکھائی جاتی ہے۔ کامیاب پارس ایک قسم وار قدروں کا ٹری دیتا ہے جو باقی تبدیلی چلاتا ہے۔
  2. 2
    تکراری type inference
    ایک تکراری getType فنکشن ہر نوڈ پر چلتا ہے: بنیادی قدریں string، number، boolean یا null بنتی ہیں؛ آبجیکٹس نیا نام والا interface بناتے ہیں؛ آبجیکٹس کی arrays کی کلیدیں تمام عناصر میں ملائی جاتی ہیں تاکہ صرف کچھ آئٹمز میں موجود کلیدیں اختیاری ہوں اور متضاد قدروں کی اقسام | سے جوڑی جائیں۔
  3. 3
    ٹکراؤ سے محفوظ interface نام
    ہر اندرونی آبجیکٹ کو اس کی JSON کلید سے PascalCase نام ملتا ہے (snake_case، kebab-case اور اسپیسز سب معمول پر لائے جاتے ہیں)۔ اگر ساخت میں مختلف دو آبجیکٹس کا ایک ہی نام ہو تو پچھلی تعریف کو خاموشی سے مٹانے کی بجائے عددی لاحقہ لگایا جاتا ہے (Data، Data2، …)۔
  4. 4
    آؤٹ پٹ دکھایا اور ڈاؤن لوڈ کے قابل
    اندرونی interfaces پہلے لکھے جاتے ہیں، پھر روٹ type، آپ کے انتخاب کے مطابق export interface یا export type کے طور پر فارمیٹ۔ نتیجہ کلپ بورڈ پر کاپی یا .ts فائل کے طور پر ڈاؤن لوڈ ہو سکتا ہے — سب معیاری Blob سے، بغیر سرور کے چکر کے۔

متعلقہ ٹولز

اکثر پوچھے جانے والے سوالات