Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lade ich JSON-Daten von einer URL in Golang?

Wie lade ich JSON-Daten von einer URL in Golang?

WBOY
WBOYOriginal
2024-06-02 11:52:57602Durchsuche

In Golang können Sie JSON-Daten von einer URL laden, indem Sie die folgenden Schritte ausführen: Importieren Sie die erforderlichen Pakete. Verwenden Sie http.Get, um die Antwort zu erhalten. Schließen Sie den Antworttext. Lesen und in Byte-Slices konvertieren. Dekodieren Sie Byte-Slices in JSON-Datenstrukturen.

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

So laden Sie JSON-Daten von einer URL in Golang

Das Laden von JSON-Daten in Golang ist sehr einfach. Im Folgenden stellen wir vor, wie Sie JSON-Daten von einer URL laden, und geben einen praktischen Fall.

Schritte:

  1. Importieren Sie die erforderlichen Pakete:

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "log"
     "net/http"
    )
  2. Verwenden Sie die Funktion http.Get, um die Datenantwort zu erhalten: 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() Schließt den Antworttext in der verzögerten Funktion:

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

Verwenden Sie ioutil.ReadAll, um den Antworttext zu lesen und ihn in ein Byte-Slice umzuwandeln:

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"])
    }
}
Das folgende Beispiel zeigt, wie der Benutzer geladen wird Auflisten, iterieren und drucken Sie jeweils den Namen und die E-Mail-Adresse des Benutzers.

Das obige ist der detaillierte Inhalt vonWie lade ich JSON-Daten von einer URL in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn