JSON से टाइपस्क्रिप्ट इंटरफ़ेस

API के जवाब या सेटिंग फ़ाइल का JSON नमूना चिपकाएँ। टूल उसका वर्णन करने वाले TypeScript इंटरफ़ेस लिखता है, हर नेस्टेड ऑब्जेक्ट के लिए एक नाम के साथ। आपका चिपकाया कुछ भी ब्राउज़र से बाहर नहीं जाता।

मुफ्त आपके ब्राउज़र में चलता है जाँचा गया मंगलवार, 10 नवंबर 2026

कोई सामान्य JSON ऑब्जेक्ट या सरणी। सरणी के कई आइटम एक इंटरफ़ेस में मिल जाते हैं।

एक सादा नाम, जैसे Root, Product या ApiResponse।

निशान लगाएँ जब टाइप दूसरी फ़ाइल में इम्पोर्ट हों।

परिणाम

TypeScript इंटरफ़ेस — कोड कॉपी करें, या types.ts के रूप में डाउनलोड करें।
घोषणाएँ — कोड में इंटरफ़ेस और टाइप एलियास।
TypeScript इंटरफ़ेस

यह टूल आपके ब्राउज़र में चलता है। आप जो लिखते हैं, वह हमें नहीं भेजा जाता।

इसका इस्तेमाल कैसे करें

  1. कोई सामान्य JSON मान JSON नमूना में चिपकाएँ। टाइप लिखते समय दिखते हैं।
  2. सबसे बाहरी ऑब्जेक्ट के लिए रूट इंटरफ़ेस का नाम में एक नाम लिखें, जैसे Product।
  3. अगर टाइप उसी फ़ाइल में रहें, तो हर घोषणा से पहले export लिखें से निशान हटाएँ।
  4. TypeScript इंटरफ़ेस कॉपी करें, या उन्हें types.ts के रूप में डाउनलोड करें।

टाइप कैसे निकलते हैं

हर JSON ऑब्जेक्ट एक इंटरफ़ेस बनता है। उसका नाम उस कुंजी से आता है जो उसे रखती है, PascalCase में: कुंजी first-name से FirstName बनता है। सरणी के आइटम सरणी की कुंजी का एकवचन लेते हैं, इसलिए items से Item बनता है। जब नाम पहले से लिया जा चुका हो, तो माता-पिता का नाम उसके आगे लगता है।

स्ट्रिंग, संख्या और बूलियन क्रमशः string, number और boolean बनते हैं। null यूनियन में null लिखा जाता है, जैसे number | null। मानों की सरणी एक टाइप के बाद [] लगाकर बनती है; खाली सरणी unknown[] बनती है, क्योंकि नमूना नहीं बताता कि उसमें क्या है।

कुंजी "first-name" -> प्रॉपर्टी "first-name": string;   items -> Item[]

एक सरणी में कई नमूने

ऑब्जेक्ट की सूची एक आकार के रूप में पढ़ी जाती है। जो कुंजी हर आइटम में हो, वह जरूरी है; जो कुंजी कुछ आइटम में न हो, वह प्रश्न चिह्न के साथ वैकल्पिक लिखी जाती है। जो कुंजी अलग आइटम में अलग प्रकार रखे, वह यूनियन बनती है, जिसमें पहले string, फिर number, boolean, इंटरफ़ेस, सरणी और null आते हैं।

नमूना सिर्फ वे मान दिखाता है जो उसमें हैं। असली API जिस कुंजी को कभी-कभी छोड़ देता है, वह एक ही नमूने में न हो सकती है, इसलिए अगर टाइप में उसका वैकल्पिक होना दिखना चाहिए, तो उसके साथ एक और आइटम जोड़ें।

उदाहरण: डिफ़ॉल्ट नमूना

डिफ़ॉल्ट नमूना एक ऑब्जेक्ट है जिसकी पाँच कुंजियाँ हैं। उसकी owner कुंजी एक ऑब्जेक्ट रखती है, इसलिए कोड में Owner इंटरफ़ेस है। उसकी items कुंजी दो ऑब्जेक्ट की सरणी है, इसलिए कोड में Item इंटरफ़ेस है। sku और price कुंजियाँ दोनों आइटम में हैं और जरूरी हैं; discount कुंजी एक आइटम में null और दूसरे में संख्या है, इसलिए वह number | null है; note कुंजी सिर्फ एक आइटम में है, इसलिए वह वैकल्पिक है।

परिणाम में तीन घोषणाएँ हैं: Root, Owner और Item, और गिनती 3 दिखाती है।

अक्सर पूछे जाने वाले सवाल

किसी फ़ील्ड पर प्रश्न चिह्न क्यों है?

वह फ़ील्ड नमूने की कम से कम एक ऑब्जेक्ट में नहीं है। ऐसा फ़ील्ड असली डेटा में गायब हो सकता है, इसलिए TypeScript उसे वैकल्पिक मानता है, और जो कोड उसे पढ़ता है उसे पहले उसकी जाँच करनी चाहिए।

मेरा फ़ील्ड string | number जैसा यूनियन क्यों दिखाता है?

उस कुंजी के लिए अलग-अलग आइटम में अलग प्रकार हैं। टाइप नमूने में दिखे हर प्रकार की सूची देता है, इसलिए कोड को मान इस्तेमाल करने से पहले जाँचना होगा कि उसके पास कौन सा है।

क्या टूल मेरा असली API डेटा जाँचता है?

नहीं। वह सिर्फ चिपकाए गए नमूने के टाइप लिखता है। एक आइटम वाला नमूना वह फ़ील्ड नहीं दिखा सकता जो बाद में आता है, इसलिए जब हो सके तो कई आइटम वाला सामान्य जवाब लें।

कुछ प्रॉपर्टी के नाम उद्धरण चिह्नों में क्यों हैं?

जो नाम सादा पहचानकर्ता नहीं, जैसे first-name या 2fa, TypeScript में उद्धरण चिह्नों में लिखा जाना चाहिए। सही पहचानकर्ता वाले नाम बिना उद्धरण के लिखे जाते हैं।

क्या यह परिणाम JavaScript में इस्तेमाल हो सकता है?

इंटरफ़ेस सिर्फ TypeScript के हैं। कोड कंपाइल होते समय वे हट जाते हैं, इसलिए JavaScript प्रोजेक्ट को JSON की जाँच किसी और तरीके से करनी होगी, या TypeScript बिल्ड स्टेप चाहिए।

स्रोत

आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।

साइट चलाने के लिए हम जरूरी कुकीज़ इस्तेमाल करते हैं। आपकी सहमति से Google विज्ञापन कुकीज़ भी इस्तेमाल करता है, ताकि व्यक्तिगत विज्ञापन दिखें। अगर आप उन्हें अस्वीकार करते हैं, तो भी आपको विज्ञापन दिखेंगे, पर वे व्यक्तिगत नहीं होंगे।