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

如何提取特定的 JSON 数据

微生景胜
2023-03-14

我不知道如何选择特定的JSON数据。

如何更改此代码以使我只有id,而没有其他响应数据?

我在网上阅读,显然我需要使用结构?我不确定如何处理这个问题。

package main 

import(
    "fmt"
    "io"
    "log"
    "net/http"
)

func get_single_product() {

    res, err := http.Get("https://api.pro.coinbase.com/products/UNI-USD")

    if err != nil {
        log.Fatal(err)
    }

    data, err := io.ReadAll(res.Body)
    res.Body.Close()

    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("%s", data)

}

func main() {

    // CALL GET PRODUCTS FUNCTION
    get_single_product()
}

这将返回...

{
"id":"UNIUSD",
"base_currency":"UNI",
"quote_currency":"USD",
"base_min_size":"0.1",
"base_max_size":"200000",
"quote_increment":"0.0001",
"base_increment":"0.000001",
"display_name":"UNI/USD",
"min_market_funds":"1.0",
"max_market_funds":"100000",
"margin_enabled":false,
"post_only":false,
"limit_only":false,
"cancel_only":false,
"trading_disabled":false,
"status":"online",
"status_message":""
}

共有1个答案

燕俊明
2023-03-14

您可以使用< code>encoding/json包将json数据解码为一个对象。只需定义对象中你感兴趣的字段,它将只读出这些字段。然后用< code>json创建一个解码器。NewDecoder()。

package main

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"
)

type Response struct {
    ID string `json:"id"`
}

func main() {
    res, err := http.Get("https://api.pro.coinbase.com/products/UNI-USD")
    if err != nil {
        log.Fatal(err)
    }

    var response Response
    json.NewDecoder(res.Body).Decode(&response)

    fmt.Println(response.ID)
}

// Output
UNI-USD

另见这个问题:如何从http获取JSON响应。得到

 类似资料:
  • 对于熊猫数据帧的特定列,该列实际上是转换成BCD的16位数据。我只想提取特定行的14-8位并转换为BCD。下面的公式适用于如下的小数据帧。 但当我申请时 对于688126行的较大数据帧,我得到一个错误,说 基数为2的int()的文本无效:“” 错误如下所示 ValueError Traceback(最近调用最后一次)在1 df.LO_TIME_0_J2_0---- C:\ProgramData\A

  • 问题内容: 我正在尝试从数据JSON获取值。我已经成功遍历了JSON数据,几乎满足了我的需求! 在Python中运行以下命令: 给我这个: 我只想获得价值。这是关键。 如何进一步执行命令以仅返回值? 问题答案: 这是完整的输出吗?这本字典包含带有嵌套字典的列表,因此您应该这样处理。假设它被称为: 您的第一个地址是对象,然后是字典中的键,列表中的索引以及该字典的键: 输出: 编辑:根据您所得到的然后

  • 我有一个JSON如下 有没有什么方法可以直接将“ID”的值提取到变量中,而不需要遍历根元素,即“Root1”。因为每次运行应用程序时根元素名称都会发生变化,比如“Root2”、“Root3”。 下面是我尝试使用“Root1”和“Result”元素提取ID的代码

  • 有一个的s: 例如,如何获取key等于2的JSON元素?

  • 我有一个创建的sqlite服务器,它保存关于用户的JSON数据。数据看起来像这样: 我也有一个基本的html页面的形式: 我也有使用XMLhttprequest()从服务器获取此数据的代码,但是,该代码只允许获取整个JSON数据并显示所有用户: 我的问题是,如何按用户名搜索用户,因此在HTML表单中,编写Sam Smith,单击按钮后,将只返回第一个用户的信息,而不是数据集中的所有用户?我想在不使

  • 我有一个这样的回应json, 我想显示userId=3的详细信息,但没有为我提供获取详细信息的endpoint。所以我想从这个endpoint得到细节。 应用程序内: 我已经显示了仪表板的数据(使用recyclerview/list)