ホームページ >バックエンド開発 >Golang >GolangでURLからJSONデータをロードするにはどうすればよいですか?

GolangでURLからJSONデータをロードするにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-02 11:52:57657ブラウズ

Golang では、次の手順に従って URL から JSON データをロードできます: 必要なパッケージをインポートします。 http.Get を使用して応答を取得します。応答本文を閉じます。読み取り、バイトスライスに変換します。バイトスライスを JSON データ構造にデコードします。

如何在 Golang 中从 URL 加载 JSON 数据?

GolangでURLからJSONデータをロードする方法

GolangでJSONデータをロードする方法は非常に簡単で、以下ではURLからJSONデータをロードする方法と実際のケースを紹介します。

手順:

  1. 必要なパッケージをインポートします:

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "log"
     "net/http"
    )
  2. http.Get 関数を使用してデータ応答を取得します: http.Get 函数获取数据的响应:

    resp, err := http.Get("https://example.com/data.json")
    if err != nil {
     log.Fatal(err)
    }
  3. defer resp.Body.Close() 延迟函数中关闭响应体:

    defer resp.Body.Close()
  4. 使用 ioutil.ReadAll

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
     log.Fatal(err)
    }

  5. In defer resp .Body .Close() 遅延関数で応答本文を閉じます:

    var data map[string]interface{}
    if err := json.Unmarshal(body, &data); err != nil {
     log.Fatal(err)
    }

ioutil.ReadAll を使用して応答本文を読み取り、バイト スライスに変換します:

package main

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

func main() {
    resp, err := http.Get("https://jsonplaceholder.typicode.com/users")
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal(err)
    }

    var users []map[string]interface{}
    if err := json.Unmarshal(body, &users); err != nil {
        log.Fatal(err)
    }

    for _, user := range users {
        fmt.Printf("Name: %s, Email: %s\n", user["name"], user["email"])
    }
}

バイトスライスは JSON データ構造にデコードされます:

rrreee

🎜 実際のケース: 🎜🎜🎜 以下は、JSONPlaceholder API から従業員データをロードする実際のケースです: 🎜rrreee🎜 このケースは、ユーザーをロードする方法を示していますユーザーの名前と電子メール アドレスをリストし、反復して出力します。 🎜

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。