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

如何在Go中读取数组json响应

归翔
2023-03-14

我有一个API请求,它在数组中返回一个refresh_token,如下所示:

[
  {
    "refresh_token" : "C61551CEA183EDB767AA506926F423B339D78E2E2537B4AC7F8FEC0C29988819"
  }
]

我需要访问这个refresh_token的值,并使用它来查询另一个API。

为此,我尝试首先“ReadAll”响应正文,然后通过调用“刷新令牌”访问其中的密钥。

然而,它不起作用。有没有人知道如何解决这个问题,因为我不明白?

这是我的代码:

func Refresh(w http.ResponseWriter, r *http.Request) {

    client := &http.Client{}

    // q := url.Values{}

    fetchUrl := "https://greatapiurl.com"

    req, err := http.NewRequest("GET", fetchUrl, nil)

    if err != nil {
        fmt.Println("Errorrrrrrrrr")
        os.Exit(1)
    }

    req.Header.Add("apikey", os.Getenv("ENV"))
    req.Header.Add("Authorization", "Bearer "+os.Getenv("ENV"))

    resp, err := client.Do(req)

    if err != nil {
        fmt.Println("Ahhhhhhhhhhhhh")
        os.Exit(1)
    }

    respBody, _ := ioutil.ReadAll(resp.Body)

    fmt.Println(respBody["refresh_token"])

    w.WriteHeader(resp.StatusCode)
    w.Write(respBody)
}

共有1个答案

蔡晨
2023-03-14

如果您不需要它作为自定义类型,您可以将其转换为[]map[string]string

respBody, _ := ioutil.ReadAll(resp.Body)
var body []map[string]string
json.Unmarshal(respBody, &body)
fmt.Println(body[0]["refresh_token"])
 类似资料:
  • Axios 0.17.1 响应的console.log为 {data:“{”error“:”name必须输入多个…null [“ispipe”:protected]=>null}}“,状态:203,statustext:”非权威信息“,标题:{…},配置:{…},…}配置:{adapter:f,转换请求:{…},转换响应:{…},超时:0,xsrfcookiename:”xsrf-token“,…

  • 问题内容: 我正在尝试读取JSON数组。这是我的代码。 我的示例JSON文件语法如下所示, 前面有一个大括号。当我尝试执行此代码块时,出现错误提示 JSONArray文本必须在....的字符1处以’[‘开头。 有没有人遇到过这样的问题?任何帮助将不胜感激。如果可以的话,请告诉我一个示例代码块。提前致谢。 问题答案: JSON对象以a开头,以a 结尾,而JSON数组以a开头,以a 结尾。 根据您的情

  • 如何从改造和存储到java类并访问某个地方来读取此响应??

  • 我在golang项目中使用go-gin服务器,并从外部API获取一些数据,该API返回一个数组作为响应 在我的golang代码中,我是这样发送请求和截取响应的 这给出了currect响应,但我得到的不是数组,而是整个数组的字符串。所以我得到的回应是 如何将响应截取为数组而不是字符串?我甚至尝试了下面的方法,它确实给了我一个数组,但却是一个空白数组。响应主体中的元素可以是数组,也可以是字符串,因此内

  • 问题内容: 我想解析一些json数据。数据如下所示: {“ id”:“ someId”,“ key_1”:“ value_1”,“ key_2”:“ value_2”,“ key_3”:“ value_3”,“点数”:[[1487100466412,“ 50.032178”,“ 8.526018”,300 ,0.0,26,0],[1487100471563,“ 50.030869”,“ 8.525

  • 问题内容: 我想在我的JQuery代码中将json响应读取为名称和值对。这是我从Java代码返回的示例JSON响应: 在我的JQuery中,如果我写的话,我将获得的价值。这是我的JQuery代码 在这里,我想读取jsonResponse而不是JQuery中的硬编码。诸如循环遍历响应以获取每个名称和值之类的东西。有什么建议? 问题答案: 重要的是要注意,属性的迭代顺序是任意的,不应依赖。