onlinetools.dev

JSON → TypeScript टाइप

किसी JSON नमूने से तुरंत TypeScript इंटरफ़ेस का अनुमान लगाइए

स्थानीय रूप से चलता है
loading…
इस टूल के बारे में

कोई JSON नमूना चिपकाइए — किसी API का उत्तर, कोई कॉन्फ़िग फ़ाइल — और उससे अनुमानित TypeScript इंटरफ़ेस पाइए: नेस्टेड ऑब्जेक्ट नेस्टेड प्रकार बनते हैं, सूचियों को तत्व-प्रकार मिलते हैं (मिश्रित सामग्री के लिए यूनियन सहित), और जो कुंजियाँ वैध पहचानकर्ता नहीं हैं उन्हें ठीक से उद्धरण चिह्नों में रखा जाता है।

बने हुए प्रकार शुरुआत हैं, अनुबंध नहीं: अनुमान एक ही नमूना देखता है, इसलिए जो फ़ील्ड आपके उदाहरण में संयोग से null था उसका प्रकार null बन जाएगा, और जो वैकल्पिक फ़ील्ड ग़ायब थे वे उसके लिए अनजान ही हैं। आउटपुट जान-बूझकर सादा है — कोई डेकोरेटर नहीं, कोई रनटाइम जाँच नहीं — ताकि आप उसे कहीं भी चिपकाकर सुधार सकें।

जो फ़ील्ड अनुरोध-दर-अनुरोध बदलते हैं, उनके लिए दूसरा नमूना चलाइए और हाथ से मिलाइए, या आकार स्थिर हो जाने पर स्कीमा-प्रथम औज़ारों (OpenAPI, zod) की ओर बढ़िए। रोज़ के “बस इस उत्तर का एक प्रकार चाहिए” वाले पल के लिए एक बार चिपकाना काफ़ी है।

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

मेरे nullable फ़ील्ड का प्रकार केवल null क्यों है?
अनुमान केवल वही नमूना देखता है जो आपने चिपकाया। यदि वहाँ फ़ील्ड null था, तो null ही उसकी जानकारी की सीमा है। बनने के बाद उसे string | null (या जो भी असली प्रकार हो) कर दीजिए — या ऐसा नमूना चिपकाइए जिसमें वह फ़ील्ड भरा हो।
वैकल्पिक फ़ील्ड कैसे सँभाले जाते हैं?
वे पहचाने ही नहीं जाते — एक नमूना “हमेशा मौजूद” और “इस बार मौजूद” में अंतर नहीं कर सकता। जो फ़ील्ड नमूने में नहीं हैं वे प्रकार में भी नहीं होंगे। जहाँ आप जानते हैं कि API उन्हें छोड़ देता है, वहाँ हाथ से उन्हें वैकल्पिक (name?:) कीजिए।
मिश्रित प्रकार वाली सूचियाँ क्या देती हैं?
एक यूनियन: [1, "a"] से (number | string)[] अनुमानित होता है। ख़ाली सूचियों से unknown[] अनुमानित होता है क्योंकि जाँचने को कोई तत्व ही नहीं होता — जब असली तत्व-प्रकार पता चले तो उसे बदल दीजिए।
अनुमानित प्रकार इस्तेमाल करूँ या zod जैसी स्कीमा लाइब्रेरी?
अनुमानित इंटरफ़ेस केवल संकलन-समय के होते हैं — वे रनटाइम पर कुछ भी नहीं जाँचते। आंतरिक औज़ारों और झटपट टाइपिंग के लिए वे बढ़िया हैं; रनटाइम पर अविश्वसनीय इनपुट के लिए zod/valibot स्कीमा परिभाषित कीजिए और स्थिर प्रकार उसी से निकालिए।
संबंधित टूल