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.
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:
Importieren Sie die erforderlichen Pakete:
import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" )
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) }
在 defer resp.Body.Close()
延迟函数中关闭响应体:
defer resp.Body.Close()
使用 ioutil.ReadAll
body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) }
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) }
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 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!