मेरे पास निम्न कोड है, मैं सभी तत्वों की सीमा चाहता हूं या birds["eagle"["quote"][2]
जैसे एक तत्व तक पहुंचना चाहता हूं लेकिन मैं इसका पता नहीं लगा सकता
package main
import (
"fmt"
"encoding/json"
)
func main() {
birdJson := `{"birds": {"pigeon": {"quotes": "love the pigeons"}, "eagle": {"quotes": ["bird of prey", "soar like an eagle", "eagle has no fear"]}}}`
var result map[string]interface{}
json.Unmarshal([]byte(birdJson), &result)
birds := result["birds"].(map[string]interface{})
fmt.Printf("%v\n",birds)
eagle := birds["eagle"]
for key, value := range eagle {
fmt.Println(key, value.(string))
}
}
-1
tjoe
26 फरवरी 2019, 12:48
1 उत्तर
सबसे बढ़िया उत्तर
कुछ मुद्दे हैं:
eagle := birds["eagle"] //eagle is of type interface{}
तो इसे मानचित्र में डालें:
eagle := birds["eagle"].(map[string]interface{})
अब आप इस पर पुनरावृति कर सकते हैं:
for key, value := range eagle {
for _, e := range value.([]interface{}){
fmt.Println(key, e.(string))
}
}
Value यहाँ फिर से इंटरफ़ेस है। तो पहले []इंटरफ़ेस{} और फिर स्ट्रिंग पर कास्ट करें।
यहाँ पूर्ण कार्य कोड है: https://play.golang.org/p/Bdnwit1wBYh
5
Saurav Prakash
26 फरवरी 2019, 09:55
संबंधित सवाल
नए सवाल
json
JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) मशीन और मानव पठनीय होने के लिए एक क्रमबद्ध डेटा इंटरचेंज प्रारूप है। इस टैग का उपयोग देशी जावास्क्रिप्ट वस्तुओं या जावास्क्रिप्ट ऑब्जेक्ट शाब्दिकों के लिए न करें। इससे पहले कि आप कोई प्रश्न पूछें, एक JSON सत्यापनकर्ता जैसे JSONLint (https://jsonlint.com) का उपयोग करके अपने JSON को मान्य करें।