```go
package main
import (
"net/http"
"io/ioutil"
"encoding/json"
"fmt"
)
func main() {
addr := "http://wthrcdn.etouch.cn/weather_mini?city=上海"
resp, err := http.Get(addr)
defer resp.Body.Close()
if err != nil {
panic(err)
}
b, err := ioutil.ReadAll(resp.Body)
var v map[string]interface{}
json.Unmarshal(b, &v)
v1 := (v["data"]).(map[string]interface{})
v2 := v1["forecast"]
fmt.Println(v2)
}
```
===================到最后是一个[]interface{}=======================
[map[type:晴 date:19日星期四 high:高温 27℃ fengli:<![CDATA[<3级]]> low:低温 16℃ fengxiang:东南风] map[date:20日星期五 high:高温 27℃ fengli:<![CDATA[3-4级]]> low:低温 17℃ fengxiang:东南风 type:晴] map[type:多云 date:21日星期六 high:高温 27℃ fengli:<![CDATA[3-4级]]> low:低温 19℃ fengxiang:东南风] map[date:22日星期天 high:高温 25℃ fengli:<![CDATA[<3级]]> low:低温 15℃ fengxiang:东南风 type:小雨] map[date:23日星期一 high:高温 21℃ fengli:<![CDATA[3-4级]]> low:低温 13℃ fengxiang:西北风 type:中雨]]
==========================================================
想不到怎么处理了, 求解
更多评论
通过断言为 []interface{} 类型,然后遍历,每个元素,又断言为 map
当然,这种的,也可以通过定义结构体解析或者使用 https://github.com/tidwall/gjson 包
#1