2013-04-04 5 views
10

मैं एक struct प्रकार है कि इसgolang struct

{"items": 
[{"name": "thing", 
    "image_urls": { 
    "50x100": [{ 
     "url": "http://site.com/images/1/50x100.jpg", 
     "width": 50, 
     "height": 100 
    }, { 
     "url": "http://site.com/images/2/50x100.jpg", 
     "width": 50, 
     "height": 100 
    }], 
    "200x300": [{ 
     "url": "http://site.com/images/1/200x300.jpg", 
     "width": 200, 
     "height": 300 
    }], 
    "400x520": [{ 
     "url": "http://site.com/images/1/400x520.jpg", 
     "width": 400, 
     "height": 520 
    }] 
    } 
} 

की तरह एक json प्रतिक्रिया संभाल कर सकते हैं के बाद से चाबियाँ एक ही हर बार नहीं कर रहे हैं लिखने की कोशिश कर रहा हूँ ... एक अलग प्रतिक्रिया हो सकती है अधिक या कम कुंजी, अलग-अलग, और जैसा कि आप किसी विशेष आकार के लिए 50x100 रिटर्न एकाधिक छवियों के साथ देख सकते हैं, मैं इसे कैसे बना सकता हूं?

type ImageURL struct { 
    Url string 
    Width, Height int 
} 
अलग आइटम के

, और एक विशेष कुंजी के लिए उनमें से एक सूची:

मैं की तरह कर सकते हैं। लेकिन युक्त संरचना कैसे दिखती है?

कुछ की तरह:

type Images struct { 
    50x100 []ImageURL 
    ... 
} 
type Items struct { 
    name string 
    Image_Urls []Images 
} 

काम सकता है, लेकिन मैं संभव छवि का आकार की सभी प्रतिक्रियाओं की गणना नहीं कर सकते हैं। अंत में Image_Urls अंत में एक सूची नहीं है। मैं इसे सीधे जेसन में डंप करने में सक्षम होना चाहता हूं। यदि संभव हो तो अनमशाल।

उत्तर

11

आपका जेसन मुझे एक मानचित्र जैसा दिखता है।

type Items map[string][]ImageUrl 

आपको जो चाहिए वह करना चाहिए।

+0

ओह हाँ। बेशक! धन्यवाद – MichaelB