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

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

WBOY
Freigeben: 2024-06-02 11:52:57
Original
659 Leute haben es durchsucht

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"
    )
    Nach dem Login kopieren
  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)
    }
    Nach dem Login kopieren
  3. defer resp.Body.Close() 延迟函数中关闭响应体:

    defer resp.Body.Close()
    Nach dem Login kopieren
  4. 使用 ioutil.ReadAll

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

  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)
    }
    Nach dem Login kopieren

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"])
    }
}
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage