"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में XML में मार्शल मैप्स कैसे करें: जब आपको \"xml: unsupported type: मैप[स्ट्रिंग]int\" त्रुटि मिले तो क्या करें?

गो में XML में मार्शल मैप्स कैसे करें: जब आपको \"xml: unsupported type: मैप[स्ट्रिंग]int\" त्रुटि मिले तो क्या करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:303

How to Marshal Maps to XML in Go: What to Do When You Get the \

गो में मैप्स को XML में मार्शल करना

जब किसी मैप को XML डेटा में कनवर्ट करने का प्रयास किया जाता है, तो डेवलपर्स को "xml: असमर्थित प्रकार: मैप[स्ट्रिंग] बताते हुए एक त्रुटि का सामना करना पड़ सकता है int।" भले ही JSON के लिए मानचित्रों को मार्शल करना संभव है, यह डिफ़ॉल्ट रूप से XML के लिए समर्थित नहीं है।

इस समस्या का एक समाधान xml.Marshaler इंटरफ़ेस का उपयोग करना है। एक कस्टम स्ट्रिंगमैप प्रकार बनाकर और मार्शलएक्सएमएल को कार्यान्वित करके, आप नियंत्रित कर सकते हैं कि मानचित्र को एक्सएमएल में कैसे क्रमबद्ध किया गया है। यह आपको वांछित संरचना और तत्व नाम निर्दिष्ट करने की अनुमति देता है। प्रारंभ xml.StartElement) त्रुटि { टोकन := []xml.टोकन{प्रारंभ} कुंजी के लिए, मान := श्रेणी s { t := xml.StartElement{नाम: xml.Name{"", कुंजी}} टोकन = जोड़ें(टोकन, t, xml.CharData(मान), xml.EndElement{t.Name}) } टोकन = संलग्न करें(टोकन, xml.EndElement{start.Name}) _, t के लिए := रेंज टोकन { त्रुटि := e.EncodeToken(t) यदि त्रुटि !=शून्य { ग़लती से वापसी } } // यह सुनिश्चित करने के लिए फ्लश करें कि टोकन लिखे गए हैं वापसी ई.फ्लश() }

एक बार जब आप मार्शलएक्सएमएल लागू कर लेते हैं, तो आप वांछित XML आउटपुट उत्पन्न करने के लिए बस अपने डेटा पर xml.MarshalIndent को कॉल कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3