मिश्रित डेटा प्रकारों के साथ JSON सरणियों को अनमर्शलिंग करना
विभिन्न डेटा प्रकारों के मान वाले JSON सरणियों को अनमर्शल करने का कार्य अक्सर एक चुनौती पैदा कर सकता है। उदाहरण के लिए, निम्नलिखित JSON सरणी पर विचार करें:
{["NewYork",123]}
समस्या:
सबसे पहले, यह नोट करना महत्वपूर्ण है प्रदान किया गया JSON वाक्यात्मक रूप से गलत है। JSON ऑब्जेक्ट को प्रत्येक मान के लिए कुंजियों की आवश्यकता होती है, इसलिए सही प्रतिनिधित्व या तो {"key":["NewYork",123]} या बस ["NewYork",123] होगा।
इसके अलावा, JSON के साथ व्यवहार करते समय सरणियाँ कई डेटा प्रकारों से बनी होती हैं, समस्या तब उत्पन्न होती है जब गो सरणियों को एक निर्दिष्ट प्रकार की आवश्यकता होती है। यह आपको आश्चर्यचकित कर सकता है कि ऐसी स्थितियों को कैसे संभाला जाए।
समाधान:
इस समस्या से निपटने की कुंजी टाइप इंटरफ़ेस को नियोजित करना है{}। यह आपको स्पष्ट प्रकार के रूपांतरण की आवश्यकता के बिना विभिन्न प्रकार के मूल्यों को संभालने की अनुमति देता है। यहां एक कोड उदाहरण दिया गया है जो दर्शाता है कि यह कैसे काम करता है:
import ( "encoding/json" "fmt" ) const j = `{"NYC": ["NewYork",123]}` type UntypedJson map[string][]interface{} func main() { ut := UntypedJson{} fmt.Println(json.Unmarshal([]byte(j), &ut)) fmt.Printf("%#v", ut) }
इस उदाहरण में, हम एक कस्टम प्रकार के रूप में UntypedJson का उपयोग करते हैं जो स्ट्रिंग को इंटरफ़ेस के स्लाइस में मैप करता है{}। इंटरफ़ेस{} प्रकार का उपयोग करके, हम JSON सरणी के भीतर मिश्रित डेटा प्रकारों को आसानी से संभाल सकते हैं।
प्रोग्राम का आउटपुट होगा:
<nil> map[string][]interface{}{"NYC": \["NewYork" 123]}
निष्कर्ष:
इंटरफ़ेस का लाभ उठाकर{} प्रकार, यह दृष्टिकोण आपको विभिन्न डेटा प्रकारों के साथ JSON सरणियों को प्रभावी ढंग से अनमर्शल करने में सक्षम बनाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3