Rumah > pembangunan bahagian belakang > Golang > Mengapakah saya mendapat ralat \'penukaran antara muka: antara muka {} ialah []antara muka {}, bukan peta[rentetan]antara muka {}\' semasa menukar antara muka kepada peta?

Mengapakah saya mendapat ralat \'penukaran antara muka: antara muka {} ialah []antara muka {}, bukan peta[rentetan]antara muka {}\' semasa menukar antara muka kepada peta?

Linda Hamilton
Lepaskan: 2024-11-02 01:48:31
asal
428 orang telah melayarinya

Why am I getting an

Ralat Penukaran Antara Muka: Pemetaan Tidak Sah

Ralat berlaku semasa penghuraian JSON apabila cuba menukar antara muka kepada peta, mengakibatkan mesej "penukaran antara muka: antara muka {} ialah []antara muka {}, bukan peta[rentetan]antara muka {}."

Penjelasan

Ralat menunjuk ke arah ketidakpadanan antara jenis data. Dalam coretan kod yang disediakan, baris berikut mengekstrak hasil daripada senarai hasil organik:

result := fmt.Sprintf("%v", response["organic_results"].(map[string]interface{})["title"])
Salin selepas log masuk

Andaiannya ialah respons["organic_results"] ialah peta dan nilainya harus dihantar sebagai peta[rentetan ]antara muka{} untuk mengakses nilai tajuk tertentu. Walau bagaimanapun, jenis data sebenar respons["organic_results"] ialah sekeping antara muka ([]antara muka{}), bukan peta.

Penyelesaian

Kepada selesaikan ralat, kod itu hendaklah dibetulkan dengan sewajarnya:

for _, item := range response["organic_results"].([]interface{}) {
    fmt.Sprintf("%v", item.(map[string]interface{})["title"])
}
Salin selepas log masuk

Di sini, gelung berulang melalui setiap item dalam hirisan []antara muka{} dan setiap item dihantar sebagai peta[rentetan]antara muka{ } untuk mengekstrak nilai tajuk.

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat 'penukaran antara muka: antara muka {} ialah []antara muka {}, bukan peta[rentetan]antara muka {}' semasa menukar antara muka kepada peta?. 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