गो में स्ट्रिंग-एन्कोडेड पूर्णांकों को अनमर्शलिंग करना
जब एक पूर्णांक फ़ील्ड में स्ट्रिंग मानों के साथ JSON को अनमर्शल करने का प्रयास किया जाता है, तो किसी को त्रुटि का सामना करना पड़ सकता है: "json: int64 प्रकार के गो मान में अनमर्शल स्ट्रिंग नहीं कर सकता।" ऐसा इसलिए है क्योंकि JSON अनमर्शलिंग डिफ़ॉल्ट रूप से संख्यात्मक प्रकारों को मानता है, जैसे कि int64, में संख्यात्मक वर्ण होने चाहिए। फ़ील्ड को एक स्ट्रिंग के रूप में एन्कोड किया गया। डेटा प्रकारों में यह बेमेल अनमर्शलिंग प्रक्रिया को विफल कर देता है।
समाधान:
अनुशंसित समाधान पूर्णांक फ़ील्ड के लिए json struct टैग में ",स्ट्रिंग" टैग का उपयोग करना है . यह अनमर्शलिंग प्रक्रिया को स्ट्रिंग प्रकार के मान स्वीकार करने का निर्देश देता है:
type tySurvey struct {
आईडी int64 `json:"id,string,omitempty"`
नाम स्ट्रिंग `json:"name,omitempty"`
}
कार्यान्वयन:
type tySurvey struct { Id int64 `json:"id,string,omitempty"` Name string `json:"name,omitempty"` }
नोट:
यह याद रखना महत्वपूर्ण है कि टैग में omitempty निर्दिष्ट करने से खाली स्ट्रिंग को डिकोड नहीं किया जा सकेगा। omitempty का उपयोग विशेष रूप से एन्कोडिंग उद्देश्यों के लिए किया जाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3