Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahkod Data JSON yang Mengandungi Rentetan Berkod JSON?
Menyahkod JSON Termasuk Rentetan Dikodkan JSON
Apabila menerima data JSON daripada sumber luaran, adalah perkara biasa untuk menemui JSON yang termasuk rentetan JSON yang dikodkan. Mengendalikan senario ini memerlukan proses penyahkodan dua langkah.
Pertimbangkan JSON berikut:
{"name":"message","args":["{\"method\":\"chatMsg\",\"params\":{\"channel\":\"channel\",\"name\":\"name\",\"nameColor\":\"B5B11E\",\"text\":\"<a href=\"https://play.spotify.com/browse\" target=\"_blank\">https://play.spotify.com/browse</a>\",\"time\":1455397119}}"]}
Untuk menyahkod ini dengan betul, kami mentakrifkan struktur berikut:
type main struct { Name string `json:"name"` Args []string `json:"args"` } type arg struct { Method string `json:"method"` Params par `json:"params"` } type par struct { Channel string `json:"channel,omitempty"` Name string `json:"name,omitempty"` NameColor string `json:"nameColor,omitempty"` Text string `json:"text,omitempty"` Time int64 `json:"time,omitempty"` }
Langkah pertama ialah menyahkod lapisan paling luar:
var m main if err := json.Unmarshal([]byte(str), &m); err != nil { log.Fatal(err) }
Seterusnya, kita menyahkod rentetan berkod JSON dalam tatasusunan "args":
var args arg if err := json.Unmarshal([]byte(m.Args[0]), &args); err != nil { log.Fatal(err) }
Menggunakan pendekatan dua langkah ini memastikan aplikasi menghuraikan kedua-dua JSON paling luar dan rentetan JSON terbenam dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Data JSON yang Mengandungi Rentetan Berkod JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!