गो में नेस्टेड डायनेमिक JSON स्ट्रक्चर्स को डिकोड करना
गो में, नेस्टेड डायनेमिक स्ट्रक्चर्स के साथ JSON डेटा को डिसेरिएलाइज करना चुनौतीपूर्ण हो सकता है। एक हालिया क्वेरी इस समस्या को दर्शाती है:
{ "status": "OK", "status_code": 100, "sms": { "79607891234": { "status": "ERROR", "status_code": 203, "status_text": "Нет текста сообщения" }, "79035671233": { "status": "ERROR", "status_code": 203, "status_text": "Нет текста сообщения" }, "79105432212": { "status": "ERROR", "status_code": 203, "status_text": "Нет текста сообщения" } }, "balance": 2676.18 }
ऐसे डेटा को डिसेरिएलाइज़ करने के लिए, हमें एसएमएस स्थितियों की गतिशील सूची को मॉडल करने के लिए एक मानचित्र का उपयोग करने की आवश्यकता है। यहां संशोधित कोड है:
type SMSPhone struct { Status string `json:"status"` StatusCode int `json:"status_code"` StatusText string `json:"status_text"` } type SMSSendJSON struct { Status string `json:"status"` StatusCode int `json:"status_code"` Sms map[string]SMSPhone `json:"sms"` Balance float64 `json:"balance"` }
अब, इस संशोधित संरचना के साथ JSON डेटा को अनमर्शल कर रहा हूं:
var result SMSSendJSON if err := json.Unmarshal([]byte(src), &result); err != nil { panic(err) } fmt.Printf("% v", result)
गतिशील नेस्टेड संरचनाओं को सही ढंग से डिसेरिएलाइज़ करेगा, जिसके परिणामस्वरूप:
{Status:OK StatusCode:100 Sms:map[79035671233:{Status:ERROR StatusCode:203 StatusText:Нет текста сообщения} 79105432212:{Status:ERROR StatusCode:203 StatusText:Нет текста сообщения} 79607891234:{Status:ERROR StatusCode:203 StatusText:Нет текста сообщения}] Balance:2676.18}
परिणाम में कुंजी। एसएमएस मानचित्र गतिशील फोन नंबरों से मेल खाता है, और उनके मान संबंधित एसएमएस हैं स्थितियाँ.
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3