Bagaimana untuk memuatkan data JSON dari URL di Golang?

WBOY
Lepaskan: 2024-06-02 11:52:57
asal
600 orang telah melayarinya

Di Golang, anda boleh memuatkan data JSON daripada URL dengan mengikut langkah berikut: Import pakej yang diperlukan. Gunakan http.Get untuk mendapatkan respons. Tutup badan tindak balas. Baca dan tukarkan kepada kepingan bait. Nyahkod kepingan bait ke dalam struktur data JSON.

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

Cara memuatkan data JSON daripada URL di Golang

Memuatkan data JSON dalam Golang adalah sangat mudah. ​​Di bawah ini kami memperkenalkan cara memuatkan data JSON daripada URL dan menyediakan kes praktikal.

Langkah-langkah:

  1. Import pakej yang diperlukan:

    import (
     "encoding/json"
     "fmt"
     "io/ioutil"
     "log"
     "net/http"
    )
    Salin selepas log masuk
  2. Gunakan fungsi http.Get untuk mendapatkan respons data: http.Get 函数获取数据的响应:

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

    defer resp.Body.Close()
    Salin selepas log masuk
  4. 使用 ioutil.ReadAll

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

    >deferreee
  5. >
  6. .Body .Close() Tutup badan respons dalam fungsi tertunda:

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

Gunakan ioutil.ReadAll untuk membaca badan respons dan tukarkannya menjadi kepingan bait:

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"])
    }
}
Salin selepas log masuk
akan Kepingan Byte dinyahkodkan ke dalam struktur data JSON:

rrreee

🎜Kes praktikal: 🎜🎜🎜Berikut ialah kes praktikal memuatkan data pekerja daripada JSONPlaceholder API: 🎜memuat kes ini🎜Ini menunjukkan pengguna senaraikan dan ulang dan cetak setiap Nama pengguna dan alamat e-mel. 🎜

Atas ialah kandungan terperinci Bagaimana untuk memuatkan data JSON dari URL di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!