无法从Json响应中获取1个对象

时间:2018-04-13 15:51:19

标签: json function go

我是Golang的初学者。你能帮我调用功能吗? 这是一个例子:

package main

import (
    "fmt"
    "net/http"
)

type Info struct {
    Name string  `json:"name"`
    Year float64 `json:"year,string"`
}

func (b *Base) GetInfo() (Info, error) {
    var resp Info
    path := "example.com"

    return resp, http.Get(path)
}

func main() {
    test, err := Base.GetInfo()
    fmt.Println(test, err)

}

输出:

{Name Bob Year 10}

我如何才能获得"Bob"

如果我的回复包含更多对象示例

{Name Bob Year 10}{Name Jane Year 2}.

我怎么才能得到名字?不知道如何解码或打电话。

1 个答案:

答案 0 :(得分:0)

使用.参数从resp获取名称,如

func main() {
    test, err := Base.GetInfo()
    fmt.Println(test.Name, err)
}

但如果有多个字段。然后你应该将它们保存在struct Info数组中:

func (b *Base) GetInfo() ([]Info, error) {
    var resp []Info
    path := "example.com"
    return resp, http.Get(path)
}

func main() {
    test, err := Base.GetInfo()
    fmt.Println(test[0].Name, err)
}