I have an API call and it returns like this:
{
"result": {
"720268538": {
"icon_url": "-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXU5A1PIYQNqhpOSV-fRPasw8rsUFJ5KBFZv668FFEuh_KQJTtEuI63xIXbxqOtauyClTMEsJV1jruS89T3iQKx_BBqa2j3JpjVLFH1xpp0EQ",
"icon_url_large": "",
"icon_drag_url": "",
"name": "Chroma Case",
"market_hash_name": "Chroma Case",
"market_name": "Chroma Case",
"name_color": "D2D2D2",
"background_color": "",
"type": "Base Grade Container",
"tradable": "1",
"marketable": "1",
"commodity": "1",
"market_tradable_restriction": "7",
"fraudwarnings": "",
"descriptions": {
"0": {
"type": "html",
"value": " ",
"app_data": ""
},
"1": {
"type": "html",
"value": "Container Series #38",
"color": "99ccff",
"app_data": ""
},
"2": {
"type": "html",
"value": " ",
"app_data": ""
},
"3": {
"type": "html",
"value": "Contains one of the following:",
"app_data": ""
},
"4": {
"type": "html",
"value": "Glock-18 | Catacombs",
"color": "4b69ff",
"app_data": ""
},
"5": {
"type": "html",
"value": "M249 | System Lock",
"color": "4b69ff",
"app_data": ""
},
"6": {
"type": "html",
"value": "MP9 | Deadly Poison",
"color": "4b69ff",
"app_data": ""
},
"7": {
"type": "html",
"value": "SCAR-20 | Grotto",
"color": "4b69ff",
"app_data": ""
},
"8": {
"type": "html",
"value": "XM1014 | Quicksilver",
"color": "4b69ff",
"app_data": ""
},
"9": {
"type": "html",
"value": "Dual Berettas | Urban Shock",
"color": "8847ff",
"app_data": ""
},
"10": {
"type": "html",
"value": "Desert Eagle | Naga",
"color": "8847ff",
"app_data": ""
},
"11": {
"type": "html",
"value": "MAC-10 | Malachite",
"color": "8847ff",
"app_data": ""
},
"12": {
"type": "html",
"value": "Sawed-Off | Serenity",
"color": "8847ff",
"app_data": ""
},
"13": {
"type": "html",
"value": "AK-47 | Cartel",
"color": "d32ce6",
"app_data": ""
},
"14": {
"type": "html",
"value": "M4A4 | 龍王 (Dragon King)",
"color": "d32ce6",
"app_data": ""
},
"15": {
"type": "html",
"value": "P250 | Muertos",
"color": "d32ce6",
"app_data": ""
},
"16": {
"type": "html",
"value": "AWP | Man-o'-war",
"color": "eb4b4b",
"app_data": ""
},
"17": {
"type": "html",
"value": "Galil AR | Chatterbox",
"color": "eb4b4b",
"app_data": ""
},
"18": {
"type": "html",
"value": "or an Exceedingly Rare Special Item!",
"color": "ffd700",
"app_data": ""
},
"19": {
"type": "html",
"value": " ",
"app_data": ""
},
"20": {
"type": "html",
"value": "",
"color": "00a000",
"app_data": {
"limited": "1"
}
}
},
"owner_descriptions": "",
"tags": {
"0": {
"internal_name": "CSGO_Type_WeaponCase",
"name": "Container",
"category": "Type",
"category_name": "Type"
},
"1": {
"internal_name": "set_community_6",
"name": "The Chroma Collection",
"category": "ItemSet",
"category_name": "Collection"
},
"2": {
"internal_name": "normal",
"name": "Normal",
"category": "Quality",
"category_name": "Category"
},
"3": {
"internal_name": "Rarity_Common",
"name": "Base Grade",
"category": "Rarity",
"color": "b0c3d9",
"category_name": "Quality"
}
},
"classid": "720268538"
},
"success": true
}
}
Result can have multiple returns I was wondering how the struct should look, this is what I have so far but it returns like nothing.
type AssetInfo struct {
Result `json:"result"`
}
type Result struct {
Asset map[string]Asset `json:"asset"`
Success bool `json:"success,omitempty"`
}
type Asset struct {
IconUrl string `json:"icon_url,omitempty"`
IconUrlLarge string `json:"icon_url_large,omitempty"`
IconDragUrl string `json:"icon_drag_url,omitempty"`
Name string `json:"name,omitempty"`
MarketHashName string `json:"market_hash_name,omitempty"`
MarketName string `json:"market_name,omitempty"`
NameColor string `json:"name_color,omitempty"`
BGColor string `json:"background_color,omitempty"`
Type string `json:"type,omitempty"`
Tradable string `json:"tradable,omitempty"`
Marketable string `json:"marketable,omitempty"`
Commodity string `json:"commodity,omitempty"`
TradeRestrict string `json:"market_tradeable_restriction,omitempty"`
FraudWarnings string `json:"fraudwarnings,omitempty"`
Descriptions map[string]*Descriptions `json:"descriptions,omitempty"`
OwnerDescriptions string `json:"owner_descriptions,omitempty"`
Tags map[string]*Tags `json:"tags,omitempty"`
ClassId string `json:"classid,omitempty"`
}
type Descriptions struct {
Type string `json:"type"`
Value string `json:"value"`
Color string `json:"color,omitempty"`
AppData string `json:"appdata"`
}
type Tags struct {
InternalName string `json:"internal_name"`
Name string `json:"name"`
Category string `json:"category"`
Color string `json:"color,omitempty"`
CategoryName string `json:"category_name"`
}
If anybody could tell me what's wrong with my struct that would be great thanks.
The thing that confuses me is like how Descriptions returns not an array but multiple objects that could range from 0-20 how do I prepare a struct for this when I don't know how many objects are going to return, as well result
can return multiple "720616831"
so how should this look?