Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah saya menghuraikan tatasusunan JSON dalam Go?

Bagaimanakah saya menghuraikan tatasusunan JSON dalam Go?

Linda Hamilton
Lepaskan: 2024-11-19 20:23:03
asal
515 orang telah melayarinya

How do I parse a JSON array in Go?

Cara Menghuraikan Tatasusunan JSON dalam Go

Dalam Go, pakej pengekodan/json menyediakan sokongan untuk membongkar data JSON ke dalam struktur Go. Untuk menghuraikan tatasusunan JSON, anda boleh menggunakan langkah berikut:

  1. Tentukan struct Go: Takrifkan struct yang mewakili bentuk elemen individu dalam JSON tatasusunan. Sebagai contoh, jika tatasusunan JSON mengandungi objek dengan medan nama dan harga, anda akan mentakrifkan struct berikut:

    type PublicKey struct {
        Name string
        Price string
    }
    Salin selepas log masuk

    Nota: Pastikan nama medan dalam struct sepadan dengan medan nama dalam tatasusunan JSON.

  2. Buat sekeping struct: Cipta kepingan jenis struct yang ditakrifkan untuk menyimpan data yang dihuraikan:

    var keys []PublicKey
    Salin selepas log masuk
  3. Unmarshal the JSON: Gunakan json.Unmarshal( ) berfungsi untuk menyahmarshal tatasusunan JSON ke dalam kepingan struct:

    err := json.Unmarshal([]byte(jsonStr), &keys)
    Salin selepas log masuk

    di mana jsonStr ialah data JSON yang akan dihuraikan.

  4. Kendalikan sebarang ralat: Semak sebarang ralat yang dihadapi semasa unmarshalling. Jika ralat berlaku, ia akan disimpan dalam pembolehubah ralat:

    if err != nil {
        // Handle the error
    }
    Salin selepas log masuk
  5. Akses data yang dihuraikan: Setelah tatasusunan JSON dihuraikan, anda boleh mengakses unsur-unsur individu kepingan structs:

    for _, key := range keys {
        fmt.Println(key.Name, key.Price)
    }
    Salin selepas log masuk

Contoh:

Kod berikut menunjukkan cara menghuraikan tatasusunan JSON menggunakan langkah di atas:

package main

import (
    "encoding/json"
    "fmt"
)

type PublicKey struct {
    Name string
    Price string
}

func main() {
    jsonStr := `[{"name":"Galaxy Nexus", "price":"3460.00"},{"name":"Galaxy Nexus", "price":"3460.00"}]`

    var keys []PublicKey
    err := json.Unmarshal([]byte(jsonStr), &keys)
    if err == nil {
        for _, key := range keys {
            fmt.Println(key.Name, key.Price)
        }
    } else {
        fmt.Println(err)
    }
}
Salin selepas log masuk

Output:

Galaxy Nexus 3460.00
Galaxy Nexus 3460.00
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya menghuraikan tatasusunan 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