Bagaimana untuk Membaca Fail JSON sebagai Objek JSON dalam Go?

Barbara Streisand
Lepaskan: 2024-11-11 10:19:02
asal
772 orang telah melayarinya

How to Read JSON Files as JSON Objects in Go?

Membaca Fail JSON sebagai Objek JSON dalam Go

Untuk membaca fail JSON sebagai objek JSON dalam Go, adalah penting untuk memahami konsep penunjuk dan jenis penegasan.

Membaca JSON Fail

plan, err := ioutil.ReadFile(filename)
if err != nil {
    log.Fatal(err)
}
Salin selepas log masuk

Nyahmarshaling Data

Untuk menyimpan objek JSON, anda memerlukan penuding kepada pembolehubah, seperti yang dinyatakan dalam dokumentasi Go :

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

Ini menyimpan objek JSON dalam lokasi memori yang ditunjukkan oleh data.

Mengakses Objek JSON

Memandangkan data ialah antara muka, anda mesti menggunakan penegasan jenis untuk mengakses nilai asasnya:

switch data := data.(type) {
case map[string]interface{}:
    // Loop through the map as a JSON object
    for key, value := range data {
        fmt.Println(key, value)
    }
case []interface{}:
    // Loop through the slice as a JSON array
    for _, value := range data {
        fmt.Println(value)
    }
default:
    // Handle other types as needed
}
Salin selepas log masuk

Marshaling untuk Nyahpepijat

Jika anda perlu melihat JSON objek sebagai rentetan untuk tujuan penyahpepijatan, anda boleh menggunakan:

jsonString, err := json.Marshal(data)
if err != nil {
    log.Fatal(err)
}
fmt.Println(string(jsonString))
Salin selepas log masuk

Nota:

  • Pastikan fail JSON diformat dengan betul dan mengandungi JSON yang sah data.
  • Gunakan struktur data khusus untuk mengisi JSON anda apabila boleh, bukannya kosong antara muka.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Fail JSON sebagai Objek JSON dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan