Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyahmarshalkan Objek JSON ke dalam Susunan Struktur dalam Go?

Bagaimana untuk Menyahmarshalkan Objek JSON ke dalam Susunan Struktur dalam Go?

Barbara Streisand
Lepaskan: 2024-11-29 13:26:19
asal
326 orang telah melayarinya

How to Unmarshal a JSON Object into an Array of Structs in Go?

Cara Menyahmarshal JSON kepada Susunan Objek dalam Go

Soalan

Bagaimanakah saya boleh menyahmarshal JSON berikut ke dalam tatasusunan objek dalam Go bahasa?

{
    "1001": {"level":10, "monster-id": 1001, "skill-level": 1, "aimer-id": 301},
    "1002": {"level":12, "monster-id": 1002, "skill-level": 1, "aimer-id": 302},
    "1003": {"level":16, "monster-id": 1003, "skill-level": 2, "aimer-id": 303}
}
Salin selepas log masuk

Penyelesaian

JSON yang disediakan memerlukan beberapa pengubahsuaian supaya sah, seperti menambah koma antara pasangan nilai kunci dalam objek peringkat atas:

{
   "1001":{
      "level":10,
      "monster-id":1001,
      "skill-level":1,
      "aimer-id":301
   },
   "1002":{
      "level":12,
      "monster-id":1002,
      "skill-level":1,
      "aimer-id":302
   },
   "1003":{
      "level":16,
      "monster-id":1003,
      "skill-level":2,
      "aimer-id":303
   }
}
Salin selepas log masuk

Untuk menyahmarshal JSON ini menjadi pelbagai objek, anda boleh menggunakan yang berikut kod:

type Monster struct {
    MonsterId  int32 `json:"monster-id"`
    Level      int32 `json:"level"`
    SkillLevel int32 `json:"skill-level"`
    AimerId    int32 `json:"aimer-id"`
}

type MonsterCollection struct {
    Pool map[string]Monster
}

func (mc *MonsterCollection) FromJson(jsonStr string) error {
    var data =&mc.Pool
    b := []byte(jsonStr)
    return json.Unmarshal(b, data)
}
Salin selepas log masuk

Dalam kod ini:

  • Struktur Monster mewakili struktur objek.
  • Struktur MonsterCollection mengandungi kumpulan raksasa, setiap satu dikunci dengan rentetan.
  • Kaedah FromJson menyahmarshal rentetan JSON ke dalam Pool peta.

Pemulangan ralat berguna untuk tujuan penyahpepijatan, membolehkan anda mengesan ralat seperti sintaks JSON yang tidak sah.

Contoh yang berfungsi boleh didapati di Taman Permainan Golang: http: //play.golang.org/p/4EaasS2VLL.

Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshalkan Objek JSON ke dalam Susunan Struktur dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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