मुख्य सामग्री पर जाएं
CuteJSON
↑↓ नेविगेट करें Enter चुनें Esc बंद करें

JSON से TypeScript

जो दस्तावेज़ आपके पास पहले से है उसी से ऐसे TypeScript इंटरफ़ेस, Python dataclasses, Go structs या Rust structs बनाइए जिन्हें सीधे प्रोजेक्ट में चिपकाया जा सके।

सभी टूल पर वापस जाएं

कीबोर्ड शॉर्टकट

ये तभी काम करते हैं जब इस पेज पर संबंधित एक्शन मौजूद हो।

कमांड पैलेट खोलें
Ctrl/Cmd + K
मुख्य एक्शन चलाएं
Ctrl/Cmd + Enter
फॉर्मैट करें
Ctrl/Cmd + Shift + F
मिनिफाई करें
Ctrl/Cmd + Shift + M
आउटपुट कॉपी करें
Ctrl/Cmd + Shift + C
फ़ाइल खोलें
Ctrl/Cmd + Shift + O
आउटपुट डाउनलोड करें
Ctrl/Cmd + S
यह डायलॉग बंद करें
Esc
यह डायलॉग खोलें
F1 / ?

स्थानीय डेटा

नीचे दी गई हर चीज़ सिर्फ़ इसी ब्राउज़र में, इसी डिवाइस पर सहेजी जाती है। इसमें से कुछ भी कभी कहीं नहीं भेजा जाता, और यह सच बने रहने के लिए इस डायलॉग को बंद करना ज़रूरी नहीं है।

न सहेजे गए मसौदे
याद रखे गए विकल्पों वाले टूल

हाल में खोली गई फ़ाइलें

    इस डिवाइस पर अभी तक कोई फ़ाइल नहीं खोली गई।

    लिंक के जरिए साझा करें

    सामग्री लिंक के # चिह्न के बाद वाले हिस्से में समाई जाती है, जिसे ब्राउज़र कभी सर्वर पर नहीं भेजते। इसमें से कुछ भी cutejson.com या कहीं और अपलोड नहीं होता।

    इस पेज का पहला इनपुट साझा होता है। एक से ज़्यादा इनपुट वाले टूल पर, सिर्फ़ वही शामिल होता है।

    साझा करने के लिए अभी कुछ नहीं है। पहले कुछ पेस्ट या टाइप करें।

    इनपुट

    URL से लोड करें

    आपके ब्राउज़र से सीधे URL को फ़ेच करता है और जो भी टेक्स्ट मिलता है उसे इस पैनल में लोड करता है।

    आउटपुट

    नतीजा यहां दिखाई देगा।

    यह पूरी तरह आपके ब्राउज़र में चलता है। आप जो पेस्ट करते हैं वह अपलोड नहीं होता, और आप इसे अपने ब्राउज़र के नेटवर्क टैब में देख सकते हैं।

    इस टूल के बारे में

    प्रकार उसी अनुमान से आते हैं जो स्कीमा जनरेटर इस्तेमाल करता है, इसलिए दोनों पेज आपके दस्तावेज़ पर सहमत रहते हैं और सिर्फ़ लिखने के ढंग में अलग हैं। नेस्टेड ऑब्जेक्ट इनलाइन प्रकार के बजाय नामवाला प्रकार बनता है, क्योंकि तीन स्तर गहरा इनलाइन प्रकार पढ़ा नहीं जाता और कोई दूसरी जगह उसका ज़िक्र नहीं कर सकती। नाम उसी कुंजी से आते हैं जिसमें मान है, ऐरे के भीतर एकवचन में, और पहले से लिया हुआ नाम मिलने पर उसमें संख्या जुड़ जाती है ताकि नतीजा हमेशा कंपाइल हो। जो कुंजी किसी रिकॉर्ड में नहीं है उस पर प्रश्नचिह्न लगाकर वैकल्पिक चिह्नित किया जाता है। खाली ऑब्जेक्ट खाली इंटरफ़ेस के बजाय unknown का रिकॉर्ड बनता है, और खाली ऐरे unknown का ऐरे, क्योंकि नमूना यह नहीं बताता कि भीतर क्या होता। सारी संख्याएं number हैं, क्योंकि TypeScript में पूर्णांक का अलग प्रकार नहीं है। आउटपुट भाषा को Python में बदलने पर वही अनुमानित संरचना dataclasses के रूप में लिखी जाती है: नेस्टेड ऑब्जेक्ट नेस्टेड क्लास बनता है, उसी तरह नामित और डुप्लिकेट-रहित, और जो कुंजी किसी रिकॉर्ड में नहीं है वह None डिफ़ॉल्ट के साथ Optional बनती है, हर हमेशा मौजूद फ़ील्ड के बाद रखी जाती है, क्योंकि Python को यही क्रम चाहिए। TypeScript आउटपुट के उलट, Python में int और float अलग रहते हैं। Go में बदलने पर वही संरचना structs के रूप में लिखी जाती है, हर फ़ील्ड पर एक json स्ट्रक्ट टैग होता है जिसमें मूल कुंजी होती है, ताकि बना हुआ कोड ठीक उसी दस्तावेज़ में वापस बदल सके जहां से वह आया था। जो कुंजी किसी रिकॉर्ड में नहीं है, या कभी-कभी सचमुच null है, वह पॉइंटर बनती है, और omitempty टैग सिर्फ़ तभी जोड़ा जाता है जब वह वाकई मायने रखे, क्योंकि Go पहले से ही गायब slice या map को बिना उसके nil मानता है। Go में भी पूर्णांक और दशमलव अलग रहते हैं, int64 और float64 के रूप में। Rust में बदलने पर serde derive वाले structs लिखे जाते हैं: फ़ील्ड snake_case बनते हैं और जब असली नाम बदलता है तभी serde का rename एट्रिब्यूट जुड़ता है, जो कुंजी किसी रिकॉर्ड में नहीं है वह skip_serializing_if के साथ Option बनती है ताकि वह फिर से गायब हो, null बनकर न दिखे, और जो JSON कुंजी संयोग से Rust का कीवर्ड हो, जैसे type, वह raw identifier के रूप में लिखी जाती है ताकि नतीजा फिर भी कंपाइल हो।

    कैसे उपयोग करें

    1. एक दस्तावेज़, या ऐरे के भीतर कई रिकॉर्ड, इनपुट पैनल में पेस्ट कीजिए।
    2. आउटपुट भाषा और मूल नाम चुनिए, उसके विकल्प ठीक कीजिए, फिर प्रकार बनाएं दबाइए।
    3. घोषणाएं कॉपी कीजिए या फ़ाइल के रूप में डाउनलोड कीजिए।