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

गो में नेस्टेड JSON एरेज़ को सुरक्षित रूप से कैसे एक्सेस करें?

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

How to Safely Access Nested JSON Arrays in Go?

गो में JSON ऐरे एक्सेस मुद्दों को समझना

गो में JSON प्रतिक्रियाओं के साथ काम करते समय, नेस्टेड ऐरे के भीतर तत्वों तक पहुंच चुनौतियों का सामना कर सकती है। अक्सर, विशिष्ट डेटा बिंदुओं को पुनः प्राप्त करने का प्रयास करते समय "टाइप इंटरफ़ेस {} इंडेक्सिंग का समर्थन नहीं करता" जैसी त्रुटियां उत्पन्न होती हैं।

इसे हल करने के लिए, गो में JSON प्रतिक्रियाओं की अंतर्निहित प्रकृति को समझना महत्वपूर्ण है। डिफ़ॉल्ट रूप से, सरणियों को []इंटरफ़ेस{} स्लाइस के रूप में दर्शाया जाता है, जबकि शब्दकोशों को मानचित्र[स्ट्रिंग]इंटरफ़ेस{} मानचित्रों के रूप में दर्शाया जाता है। नतीजतन, इंटरफ़ेस चर में अनुक्रमण के लिए समर्थन की कमी होती है।

नेस्टेड तत्वों तक पहुंचने के लिए, प्रकार के दावे आवश्यक हो जाते हैं। एक दृष्टिकोण त्रुटि जाँच के बिना निम्नलिखित करना है:

objects := result["objects"].([]interface{})
first := objects[0].(map[string]interface{})
fmt.Println(first["ITEM_ID"])

हालाँकि, यदि प्रकार संरेखित नहीं होते हैं तो यह विधि घबराहट पैदा कर सकती है। एक अधिक मजबूत दृष्टिकोण दो-रिटर्न फॉर्म का उपयोग करना और संभावित त्रुटियों को संभालना है:

objects, ok := result["objects"].([]interface{})
if !ok {
    // Handle error
}

यदि आपका JSON एक सुसंगत संरचना का अनुसरण करता है, तो सीधे एक कस्टम प्रकार में डिकोडिंग पर विचार करें:

type Result struct {
    Query   string `json:"query"`
    Count   int    `json:"count"`
    Objects []struct {
        ItemId      string `json:"ITEM_ID"`
        ProdClassId string `json:"PROD_CLASS_ID"`
        Available   int    `json:"AVAILABLE"`
    } `json:"objects"`
}

एक बार डिकोड हो जाने पर, आप परिणाम जैसे नेस्टेड तत्वों तक निर्बाध रूप से पहुंच सकते हैं।ऑब्जेक्ट्स[0].आइटमआईडी।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3