JSON से Go
JSON से JSON टैग वाले Go struct बनाएँ
Go कोड बनाने के लिए JSON पेस्ट करें या कोई उदाहरण लोड करें।
JSON to Go क्या बनाता है
JSON to Go किसी API प्रतिक्रिया या किसी भी JSON नमूने को encoding/json के लिए तैयार Go struct परिभाषाओं में बदलता है। हर export किए गए फ़ील्ड में json:"key" टैग होता है, इसलिए बदले गए नाम वाले फ़ील्ड भी डिकोड होते हैं। जिन कुंजियों को struct टैग व्यक्त नहीं कर सकता (खाली कुंजियाँ, उद्धरण चिह्न, अल्पविराम या emoji जैसे प्रतीक), उन्हें गलत नाम पर चुपचाप मैप करने के बजाय json:"-" से बाहर रखा जाता है और सूचनाओं में सूचीबद्ध किया जाता है।
उपयोग कैसे करें
- 1.JSON पेस्ट करें, एक .json फ़ाइल अपलोड करें या छोड़ें, या कोई उदाहरण लोड करें।
- 2.रूट struct का नाम और पैकेज रखें (डिफ़ॉल्ट रूप से main)।
- 3.पॉइंटर और omitempty चालू या बंद करें; उन्नत में आप नेस्टेड struct इनलाइन कर सकते हैं।
- 4.आउटपुट के नीचे की सूचनाएँ पढ़ें, फिर कोड कॉपी करें या models.go डाउनलोड करें।
टाइप का अनुमान कैसे लगाया जाता है
- •ऐरे का हर आइटम जाँचा जाता है, केवल पहला नहीं, और एक ही ऐरे के ऑब्जेक्ट मिला दिए जाते हैं।
- •कुछ ऑब्जेक्ट में न मिलने वाली कुंजी वैकल्पिक होती है; कभी-कभी null होने वाली कुंजी nullable होती है। दोनों को अलग रखा जाता है।
- •एक ही स्थान पर 1 और 2.5 दशमलव संख्या में बदल जाते हैं; अन्य मिश्रण की सूचना दी जाती है।
- •खाली ऐरे और हमेशा null रहने वाले मानों के टाइप का कोई प्रमाण नहीं होता, इसलिए सामान्य टाइप उपयोग होता है और एक सूचना कारण बताती है।
- •टाइप मैपिंग: स्ट्रिंग → string, पूर्णांक → int64 (उससे आगे uint64 या json.Number), दशमलव → float64, बूलियन → bool, ऐरे → []T, ऑब्जेक्ट → struct, अज्ञात या मिला-जुला → any।
- •पॉइंटर चालू होने पर nullable या वैकल्पिक स्केलर और struct *T बनते हैं; slice और any कभी पॉइंटर नहीं बनते क्योंकि उनके पास पहले से nil मान होता है।
omitempty, सीमाएँ और गोपनीयता
omitempty केवल उन फ़ील्ड में जोड़ा जाता है जो नमूने में छूटे हुए या null थे। एन्कोड करते समय यह 0, "" और false जैसे शून्य मान भी हटा देता है, इसलिए यह "वैकल्पिक" के समान नहीं है। नमूना केवल यह दिखाता है कि डेटा एक बार कैसा दिखा था, पूरा API अनुबंध नहीं। कोड पर भरोसा करने से पहले वैकल्पिक फ़ील्ड, सामान्य टाइप और संख्याओं की चौड़ाई जाँचें। इनपुट 5 MB और 256 नेस्टिंग स्तरों तक सीमित है; 2 MB से, जनरेशन बनाएँ बटन की प्रतीक्षा करता है। सब कुछ आपके ब्राउज़र में चलता है और JSON कभी अपलोड नहीं होता।
