现在再用一个网上的api,访问一个网址后返回一个Json串。
我用res,err:=http.Get(URL)总会报错,json也能获取过来,不过是在err里,带的错误信息是不规范的HTTP 响应。
请问如果返回的是json应该如何获取呢?
谢谢!
更多评论
http://www.tuling123.com/openapi/api?key=ae01f0421fb71cb0e0f189bd4c59faa0&info=北京天气,网上的一个智能机器人的api。
谢谢。
#2
简单的测试代码如下:
package main
import (
"net/http"
"fmt"
"io/ioutil"
"encoding/json"
)
func main() {
resp, err := http.Get("http://www.tuling123.com/openapi/api?key=ae01f0421fb71cb0e0f189bd4c59faa0&info=%E5%8C%97%E4%BA%AC%E5%A4%A9%E6%B0%94")
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", data)
var result = map[string]interface{}{}
err = json.Unmarshal(data, &result)
if err != nil {
panic(err)
}
fmt.Println("result:", result)
}
能获取结果,没啥问题啊
#3