Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menyahsiri json dengan tatasusunan tanpa nama di Golang?
Di Golang, bagaimana untuk menggunakan tatasusunan tanpa nama untuk menyahsiri data json? Ini adalah masalah yang sering dihadapi oleh banyak pembangun. Tatasusunan tanpa nama boleh mengendalikan beberapa struktur data ringkas dengan mudah tanpa menentukan struktur tertentu. Dengan menggunakan pakej json terbina dalam Golang, kami boleh melaksanakan fungsi ini dengan mudah. Di bawah, editor PHP Xinyi akan memperkenalkan anda secara terperinci cara menggunakan tatasusunan tanpa nama untuk menyahsiri data json di Golang. Mari lihat!
Saya menerima json ini daripada pelayan luaran:
[["010117", "070117", "080117"], ["080117", "140117", "150117"], ["150117", "210117", "220117"]]
Saya perlu menghuraikannya
package main import ( "encoding/json" "fmt" "io" "os" "runtime" ) type Range struct { From string To string Do string } type AllRanges struct { Ranges []Range } func main() { var ranges AllRanges j, err := os.ReadFile(file) if err != nil { panic("Can't read json file") } if json.Unmarshal(j, &v) != nil { panic("Error reading the json") } }
Apabila saya melaksanakan, panik dilemparkan mengatakan ralat berlaku semasa membaca json
Terima kasih terlebih dahulu!
Ini bukan kod yang gagal. Kod yang anda siarkan tidak akan dikompilkan kerana ia cuba menyahmarshal menjadi pembolehubah yang tidak diisytiharkan v
.
Andaikan v
应该是ranges
sepatutnya
ranges
的类型为 allranges
,它是一个具有命名成员的结构体,ranges
Jadi apabila cuba unmarshaler json ke dalam struktur ini, unmarshaler akan mengharapkan untuk mencari:
{ "ranges": [ { "from": "..", "to": .., "do": ".." }, { etc } ] }
ranges
Untuk menyahmarshal data daripada tatasusunan rentetan tanpa nama, anda perlu mengisytiharkan sebagai tatasusunan rentetan:
var ranges [][]string ... if json.Unmarshal(j, &ranges) != nil { panic("Error reading the json") }Setelah menyahmarshall ke dalam tatasusunan ini, anda perlu menulis kod untuk menukarnya kepada nilai berstruktur yang diingini.
taman permainan [][]string
ini menunjukkan cara untuk berjaya mengeluarkan data sampel ke dalam
Atas ialah kandungan terperinci Bagaimana untuk menyahsiri json dengan tatasusunan tanpa nama di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!