gpt4 book ai didi

json - 使用 simplejson 转 JSON

转载 作者:IT王子 更新时间:2023-10-29 01:00:00 26 4
gpt4 key购买 nike

尝试使用来自“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 )

但它似乎确实有效!?尝试访问总计和标记字段

最佳答案

你有几个错误:

  1. 如果您检查 JSON 响应,您会注意到 total 字段不是字符串,这就是为什么您应该使用 MustInt() 方法,而不是 String(),访问字段时。
  2. Printf() 方法调用完全错误。您应该传递一个"template",然后传递适合“占位符”数量的参数。

顺便说一句,我强烈建议您到处检查 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)
}

关于json - 使用 simplejson 转 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21432848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com