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

गो JSON अनमर्शलिंग में नेस्टेड एरेज़ को कैसे संभालें?

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

How to Handle Nested Arrays in Go JSON Unmarshalling?

गोलंग JSON: अनमर्शलिंग के साथ नेस्टेड एरेज़ को संभालना

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

इंटरफ़ेस{} JSON मॉड्यूल में प्रतिनिधित्व

JSON मॉड्यूल सरणियों को []इंटरफ़ेस{} स्लाइस और शब्दकोशों को मानचित्र[स्ट्रिंग]इंटरफ़ेस के रूप में दर्शाता है। } इंटरफ़ेस में डिकोड करते समय मानचित्र {} वेरिएबल। :

ऑब्जेक्ट्स:= परिणाम["ऑब्जेक्ट्स"].([]इंटरफ़ेस{}) पहला := ऑब्जेक्ट[0].(मानचित्र[स्ट्रिंग]इंटरफ़ेस{}) fmt.Println(first["ITEM_ID"])

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

ऑब्जेक्ट्स, ठीक है: = परिणाम["ऑब्जेक्ट्स"]।([]इंटरफ़ेस{}) यदि !ठीक है { // यहां त्रुटि संभालें }

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

यदि JSON डेटा एक सुसंगत प्रारूप का पालन करता है, तो एक अधिक कुशल समाधान इसे एक संरचित प्रकार में डिकोड करना है। उदाहरण के लिए, दिए गए डेटा के आधार पर:
objects, ok := result["objects"].([]interface{})
if !ok {
    // Handle error here
}
परिणाम संरचना टाइप करें { क्वेरी स्ट्रिंग `json:"query"` गिनती int `json:"गिनती"` वस्तुएँ []संरचना { आइटम आईडी स्ट्रिंग `json:"ITEM_ID"` ProdClassId स्ट्रिंग `json:"PROD_CLASS_ID"` उपलब्ध int `json:"AVAILABLE"` } `json:"ऑब्जेक्ट्स"` }

इस संरचना में डिकोड करके, आप सीधे result.Objects[0].ItemId का उपयोग करके आइटम आईडी तक पहुंच सकते हैं। यह दृष्टिकोण प्रकार के दावे की आवश्यकता को समाप्त करता है और नेस्टेड तत्वों तक पहुंचने के लिए एक प्रकार-सुरक्षित विधि प्रदान करता है।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3