如果您将符号(由用户提供)作为字符串数组参数(例如:“ symbols”,being string["\"AAPL\"", "\"FB\"", "\"GOOG\""]),则可以使用strings/#Join生成正确的字符串:s := strings.Joins(symbols, ",")然后(如“编码/解码 URL ”中所述),用于net/url/#QueryEscape获取符号的最终 url 字符串:url := "http://query.yahooapis.com/v1/public/yql?q=select%20LastTradePriceOnly%20from%20yahoo.finance.quote%20where%20symbol%20in%20(" + url.QueryEscape(s) + ")&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys"
1 回答
森林海
TA贡献2011条经验 获得超2个赞
试试这个,看起来你的结构设置不正确:
http://play.golang.org/p/VRKbv-GVQB
您需要解析整个 json 字符串,它是一个包含名为 的单个元素的对象items。items然后包含string->Person对象的映射。
如果您只想从每个人中提取name和age,您可以通过抓取data.Items["bvu62fu6dq"].Name.
如果您想在 中使用动态键Person,则需要执行map[string]interface{}而不是Person再次捕获动态键。它看起来像:
type Data struct {
Items map[string]map[string]interface{} `json:"items"`
}
...
fmt.Printf("%v\n", data.Items["bvu62fu6dq"]["name"]
fmt.Printf("%v\n", data.Items["bvu62fu6dq"]["age"]
fmt.Printf("%v\n", data.Items["bvu62fu6dq"]["xyz"]
- 1 回答
- 0 关注
- 204 浏览
添加回答
举报
0/150
提交
取消