Golang で HTTP 応答から JSON データを解析するにはどうすればよいですか?

WBOY
リリース: 2024-06-03 13:26:57
オリジナル
371 人が閲覧しました

Go で JSON 応答を解析する: エンコーディング/json パッケージの Unmarshal 関数を使用します。 JSON データを表すターゲット構造を作成します。 HTTP 応答本文を読み取り、JSON データを解析します。解析されたデータを印刷または使用します。

如何在 Golang 中从 HTTP 响应中解析 JSON 数据?

Golang で HTTP 応答からの JSON データを解析する方法

Golang では、encoding/json パッケージを使用して HTTP 応答からの JSON データを解析できます。このパッケージは、JSON エンコードされたデータをターゲット構造にデコードする Unmarshal 関数を提供します。 encoding/json 包解析 HTTP 响应中的 JSON 数据。该包提供了一个 Unmarshal 函数,它将 JSON 编码的数据解码到目标结构中。

代码示例:

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {
    // 创建一个 HTTP 客户端
    client := &http.Client{}

    // 发送一个 GET 请求
    resp, err := client.Get("https://example.com/api/data")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close()

    // 读取响应体
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 创建一个目标结构
    type Data struct {
        Name string
        Age  int
    }
    var data Data

    // 解析 JSON 数据
    if err := json.Unmarshal(body, &data); err != nil {
        fmt.Println(err)
        return
    }

    // 打印解析后的数据
    fmt.Println(data)
}
ログイン後にコピー

实战案例:

这个示例从一个示例 API(https://example.com/api/data)中检索 JSON 数据,并将其解析到一个 Data 结构中。然后,它会打印解析后的数据。

你可以通过使用自己喜欢的 IDE 或文本编辑器创建一个新文件(例如 main.go

コード例:

🎜
go run main.go
ログイン後にコピー
🎜🎜実際のケース: 🎜🎜🎜この例では、サンプル API (https://example.com/api/data) から JSON データを取得し、解析されますData 構造に変換します。次に、解析されたデータを出力します。 🎜🎜これを行うには、お気に入りの IDE またはテキスト エディターを使用して新しいファイル (例: main.go) を作成し、上記のコードを貼り付けます。次に、次のコマンドを実行してプログラムをコンパイルして実行できます: 🎜rrreee🎜これにより、解析された JSON データが出力されます。 🎜

以上がGolang で HTTP 応答から JSON データを解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!