"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में डायनामिक नेस्टेड JSON स्ट्रक्चर्स को डिसेरिएलाइज़ कैसे करें?

गो में डायनामिक नेस्टेड JSON स्ट्रक्चर्स को डिसेरिएलाइज़ कैसे करें?

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

How to Deserialize Dynamic Nested JSON Structures in Go?

गो में नेस्टेड डायनेमिक 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