Rumah >pembangunan bahagian belakang >Golang >Mengapa Saya Mendapat Ralat Penukaran Antara Muka Semasa Menghuraikan Respons API Serpwow?

Mengapa Saya Mendapat Ralat Penukaran Antara Muka Semasa Menghuraikan Respons API Serpwow?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 23:46:29475semak imbas

Why Am I Getting an Interface Conversion Error When Parsing Serpwow API Response?

Ralat Penukaran Antara Muka: Pemetaan Tidak Padan

Dalam kod ini, ralat ditemui semasa menghuraikan respons daripada API serpwow untuk hasil carian Google . Mesej ralat menunjukkan bahawa penukaran antara muka telah gagal disebabkan oleh jenis yang tidak sepadan.

Punca Punca:

Ralat berlaku kerana respons JSON mengandungi tatasusunan hasil dalam harta "organic_results". Walau bagaimanapun, kod tersebut menganggap bahawa sifat ini ialah peta, yang membawa kepada isu penukaran antara muka.

Penyelesaian:

Untuk menyelesaikan isu ini, kemas kini kod dengan betul mengendalikan tatasusunan dalam JSON respons:

<code class="go">for _, item := range response["organic_results"].([]interface{}) {
    fmt.Printf("%v", item.(map[string]interface{})["title"])
}</code>

Penjelasan:

  • respons["organic_results"].([]interface{}) berulang ke atas elemen dalam "organic_results " tatasusunan, setiap satunya adalah antara muka yang mewakili a hasil.
  • item.(map[string]interface{}) menukar antara muka semasa kepada peta, yang mewakili hasil carian tertentu.
  • item.(map[string]interface{} )["title"] mengekstrak sifat "title" daripada peta hasil sebagai rentetan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Penukaran Antara Muka Semasa Menghuraikan Respons API Serpwow?. 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