尝试使用"github.com/bitly/go-simplejson"中的JSON库
url = "http://api.stackoverflow.com/1.1/tags?pagesize=100&page=1"
res, err := http.Get(url)
body, err := ioutil.ReadAll(res.Body)
fmt.Printf("%s\n", string(body)) //WORKS
js, err := simplejson.NewJson(body)
total,_ := js.Get("total").String()
fmt.Printf("Total:%s"+total )
Run Code Online (Sandbox Code Playgroud)
但似乎它最有效!尝试访问总计和标记字段
你有一些错误:
total
字段不是字符串,这就是您在访问该字段时应该使用MustInt()
方法的原因String()
.Printf()
方法调用完全错误.您应该传递一个"模板",然后传递适合"占位符"数量的参数.顺便说一句,我强烈建议你err != nil
到处检查,这对你有很大的帮助.
这是工作示例:
package main
import (
"fmt"
"github.com/bitly/go-simplejson"
"io/ioutil"
"log"
"net/http"
)
func main() {
url := "http://api.stackoverflow.com/1.1/tags?pagesize=100&page=1"
res, err := http.Get(url)
if err != nil {
log.Fatalln(err)
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatalln(err)
}
// fmt.Printf("%s\n", string(body))
js, err := simplejson.NewJson(body)
if err != nil {
log.Fatalln(err)
}
total := js.Get("total").MustInt()
if err != nil {
log.Fatalln(err)
}
fmt.Printf("Total:%s", total)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4988 次 |
最近记录: |