यूटीएफ-8 स्ट्रिंग्स को []बाइट
जेएसओएन के साथ काम करते समय, अनमर्शल फ़ंक्शन को []बाइट प्रकार के इनपुट की आवश्यकता होती है। हालाँकि, हमारा डेटा UTF-8 स्ट्रिंग के रूप में संग्रहीत किया जा सकता है। यह आलेख बताता है कि सफल अनमर्शलिंग के लिए UTF-8 स्ट्रिंग को []बाइट में कैसे परिवर्तित किया जाए।
गो विनिर्देश के अनुसार []बाइट(s)
, एक स्ट्रिंग को एक साधारण कास्टिंग का उपयोग करके []बाइट में परिवर्तित किया जा सकता है:
s := "some text"
b := []byte(s)
हालांकि, यह रूपांतरण स्ट्रिंग की सामग्री की एक प्रति बनाता है, जो बड़ी स्ट्रिंग्स के लिए अक्षम हो सकता है।
कुशलता के लिए io.Reader का उपयोग करना अनमर्शल
एक वैकल्पिक दृष्टिकोण से निर्मित io.Reader का उपयोग करना है स्ट्रिंग:
s := `{"somekey":"somevalue"}`
reader := strings.NewReader(s)
decoder := json.NewDecoder(reader)
var result interface{}
decoder.Decode(&result)
यह विधि स्ट्रिंग को कॉपी करने से बचाती है और बड़े इनपुट के लिए अधिक कुशल है।
विभिन्न परिदृश्यों के लिए विचार
संक्षेप में, UTF-8 स्ट्रिंग्स को परिवर्तित करना []अनमर्शलिंग के लिए बाइट में या तो सीधे कास्टिंग शामिल है या बड़े इनपुट के कुशल संचालन के लिए io.Reader का उपयोग करना शामिल है। चुनाव आवेदन की विशिष्ट आवश्यकताओं पर निर्भर करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3