gpt4 book ai didi

json - 如何解码json

转载 作者:数据小太阳 更新时间:2023-10-29 03:31:10 28 4
gpt4 key购买 nike

我正在使用 http.Get 进入一个 url,结果如下{"name":"cassandra","tags":["2.2.6","latest"]} 这意味着它的行为类似于名称字段的 map[string]string 但在标签中它的行为类似于 map[string] []string 那么如何在 Go 中解码呢?我尝试使用 map[string][]string 但它不起作用

map_image_tags := make(map[string][]string)    
res2, err := http.Get(fmt.Sprintf("%s/v2/%s/tags/lists", sconf.RegistryConf.url, Images[i]))
if err != nil {
w.WriteHeader(500)
log.Errorf("could not get tags: %s", err)
return
}
log.Debugf("OK")
js2, err := ioutil.ReadAll(res2.Body)
if err != nil {
w.WriteHeader(500)
log.Errorf("could not read body: %s", err)
return
}
log.Debugf("OK")
err = json.Unmarshal(js2, map_image_tags)
if err != nil {
w.WriteHeader(500)
log.Errorf("could not unmarshal json: %s", err)
return
}

我收到此日志错误:无法解码 json:顶级值后的无效字符“p”

最佳答案

要读取像 {"name":"cassandra", "tags":["2.2.6","latest"] 这样的 json 值,您可以使用定义如下的结构:

type mapImageTags struct {
Name string `json:"name"`
Tags []string `json:"tags"` // tags is a slice (array) of strings
}

解码 JSON 数据,

m := mapImageTags{}
err = json.Unmarshal(js2, &m)

在这种情况下,简单的 map[string]string 无济于事。

关于json - 如何解码json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38500600/

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