JSON से Rust
JSON से Serde एट्रिब्यूट वाले Rust struct बनाएँ
Rust कोड बनाने के लिए JSON पेस्ट करें या कोई उदाहरण लोड करें।
JSON to Rust क्या बनाता है
JSON to Rust किसी API प्रतिक्रिया या किसी भी JSON नमूने को Rust struct में बदलता है। Serde चालू होने पर हर struct Serialize और Deserialize derive करता है। स्वचालित नाम बदलना Serde के अपने case नियम जाँचता है और #[serde(rename_all = "camelCase")] (या कोई अन्य नियम) केवल तब जोड़ता है जब वह उस struct की हर कुंजी को सही बनाए; जो कुंजियाँ फ़िट नहीं होतीं उन्हें #[serde(rename = "...")] मिलता है। वैकल्पिक फ़ील्ड को #[serde(default, skip_serializing_if = "Option::is_none")] मिलता है, ताकि वापस लिखते समय वे अनुपस्थित रहें।
उपयोग कैसे करें
- 1.JSON पेस्ट करें, एक .json फ़ाइल अपलोड करें या छोड़ें, या कोई उदाहरण लोड करें।
- 2.रूट struct का नाम रखें और Debug, Clone और Serde derive चुनें।
- 3.स्वचालित नाम बदलना, एक तय नियम, या केवल प्रति-फ़ील्ड नाम बदलना चुनें।
- 4.आउटपुट के नीचे की सूचनाएँ पढ़ें, फिर कोड कॉपी करें या models.rs डाउनलोड करें।
टाइप का अनुमान कैसे लगाया जाता है
- •ऐरे का हर आइटम जाँचा जाता है, केवल पहला नहीं, और एक ही ऐरे के ऑब्जेक्ट मिला दिए जाते हैं।
- •कुछ ऑब्जेक्ट में न मिलने वाली कुंजी वैकल्पिक होती है; कभी-कभी null होने वाली कुंजी nullable होती है। दोनों को अलग रखा जाता है।
- •एक ही स्थान पर 1 और 2.5 दशमलव संख्या में बदल जाते हैं; अन्य मिश्रण की सूचना दी जाती है।
- •खाली ऐरे और हमेशा null रहने वाले मानों के टाइप का कोई प्रमाण नहीं होता, इसलिए सामान्य टाइप उपयोग होता है और एक सूचना कारण बताती है।
- •टाइप मैपिंग: स्ट्रिंग → String, पूर्णांक → i64 (उससे आगे u64 या serde_json::Value), दशमलव → f64, बूलियन → bool, ऐरे → Vec<T>, ऑब्जेक्ट → struct, छूटा हुआ या null → Option<T>, अज्ञात या मिला-जुला → serde_json::Value।
सीमाएँ और गोपनीयता
नमूना केवल यह दिखाता है कि डेटा एक बार कैसा दिखा था, पूरा API अनुबंध नहीं। कोड पर भरोसा करने से पहले वैकल्पिक फ़ील्ड, सामान्य टाइप और संख्याओं की चौड़ाई जाँचें। इनपुट 5 MB और 256 नेस्टिंग स्तरों तक सीमित है; 2 MB से, जनरेशन बनाएँ बटन की प्रतीक्षा करता है। सब कुछ आपके ब्राउज़र में चलता है और JSON कभी अपलोड नहीं होता। Serde derive बंद होने पर भी सामान्य मानों के लिए serde_json crate चाहिए।
