当前位置: 首页 > 知识库问答 >
问题:

无法从 Json 响应中获取 1 个对象 [重复]

郑星雨
2023-03-14

我是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}

我怎么能只得到“鲍勃”

如果我的响应包含更多的对象

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

如何仅获取姓名?不知道如何解码或打电话。

共有1个答案

樊飞飙
2023-03-14

使用<code> 参数以从resp-like获取名称

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

但是如果存在多个字段。然后您应该将它们保存在struct<code>Info</code>的数组中,如下所示:

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)
}
 类似资料:
  • 问题内容: 我想从Http get响应中获取一个对象: 这是我当前对Http get的代码: 这是convertSteamToString函数: 现在,我只是得到一个字符串对象。我如何找回JSON对象。 问题答案: 您获得的字符串只是JSON Object.toString()。这意味着您将获取JSON对象,但使用String格式。 如果应该获取JSON对象,则可以输入:

  • 我想从Http get响应中获取一个对象: 这是我当前的Http get代码: 这是转换的SteamToString函数: 现在我只是得到一个字符串对象。如何取回JSON对象。

  • 我用邮递员寄出这个请求https://postman-echo.com/get?record=aaaa 测试包含以下代码: 控制台中的输出: 对象对象 我所期待的:回应json {“args”:{“record”:“aaaa”},“headers”:{“x-forwarded-proto”:“https”,“x-forwarded-port”:“443”,“host”:“postman echo.

  • 我从服务器收到json格式的响应,方法是使用restAsaud使用java点击post Request。 现在我想获取名为“freebies”的子json对象。如何执行此操作,因为在写入时: 我得到了stackoverFlow错误。 请帮帮忙。

  • 问题内容: 我正在尝试从FlickR解析JSON响应,但是遇到了困难。我已经进行了一些测试,并且收到200的响应代码,并且能够使用日志记录拦截器查看实际的JSON。 但是,当我尝试访问JSON对象时,我收到了一个空指针。我觉得这与我的映射/ JSON到POJO有关: 相片: 照片: JSON响应: LOGCAT 72行 问题答案: 您的课程不适合服务器 响应, 因此您的身体为 Null 。您的模型

  • 我得到了响应从REST API到响应对象后,通过RestAsared API调用。 响应主体是json,我想从中获取特定的键值吗? 以下是代码 如何在字符串中获取特定的键值?