Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Data Berstruktur dalam Go?

Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Data Berstruktur dalam Go?

Barbara Streisand
Barbara Streisandasal
2024-11-17 19:31:02567semak imbas

How to Parse JSON Arrays into Structured Data in Go?

Menghuraikan Tatasusunan JSON dalam Go

Menggunakan Unmarshal dengan Struktur Tertakrif

Masalah:

Bagaimana untuk menghuraikan tatasusunan JSON kompleks yang mengandungi objek ke dalam format berstruktur dalam Go?

Contoh JSON:

[{"id":694476444991229955,"id_str":"694476444991229955"}]

Penyelesaian:

  1. Tentukan struct Go untuk memodelkan data JSON.

    type Tweet struct {
     ID       int64  `json:"id"`
     IDStr    string `json:"id_str"`
    }
  2. Buat sekeping struct tweet untuk menahan yang dihuraikan hasil.

    tweets := make([]Tweet, 0)
  3. Nyahmarshal tatasusunan JSON ke dalam kepingan tweet.

    err := json.Unmarshal([]byte(jsonString), &tweets)
    if err != nil {
     fmt.Println(err)
    }
  4. Lelar atas kepingan tweet untuk mengakses bahagian yang dihuraikan data.

    for _, tweet := range tweets {
     fmt.Println(tweet.ID, tweet.IDStr)
    }

Menyahmarshaling ke dalam kepingan Peta[rentetan]antaramuka{}

Nota: Kaedah ini memerlukan pengindeksan dan taip penegasan untuk mengakses nilai.

  1. Buat sekeping peta untuk menyimpan hasil yang dihuraikan.

    tweets := make([]map[string]interface{}, 0)
  2. Unmarshal the JSON tatasusunan ke dalam kepingan peta.

    err := json.Unmarshal([]byte(jsonString), &tweets)
    if err != nil {
     fmt.Println(err)
    }
  3. Lelaran di atas kepingan peta untuk mengakses data yang dihuraikan.

    for _, tweet := range tweets {
     id, ok := tweet["id"].(int64)
     if ok {
         fmt.Println("ID:", id)
     }
    }

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Tatasusunan JSON ke dalam Data Berstruktur dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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