亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不能使用“encoding/json”覆蓋鷹(類型接口 {})

不能使用“encoding/json”覆蓋鷹(類型接口 {})

Go
炎炎設計 2023-06-12 14:36:13
我有以下代碼,我想遍歷所有元素或訪問一個元素,birds["eagle"["quote"][2]但我無法弄清楚package mainimport (    "fmt"    "encoding/json")func main() {    birdJson := `{"birds": {"pigeon": {"quotes": "love the pigeons"}, "eagle": {"quotes": ["bird of prey", "soar like an eagle", "eagle has no fear"]}}}`    var result map[string]interface{}    json.Unmarshal([]byte(birdJson), &result)    birds := result["birds"].(map[string]interface{})    fmt.Printf("%v\n",birds)    eagle := birds["eagle"]    for key, value := range eagle {        fmt.Println(key, value.(string))    }}
查看完整描述

1 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

有幾個問題:


eagle := birds["eagle"] //eagle is of type interface{}

所以把它投到地圖上:


eagle := birds["eagle"].(map[string]interface{})

現在你可以迭代它了:


for key, value := range eagle { 

        for _, e := range value.([]interface{}){

         fmt.Println(key, e.(string))

        }

    }

值又是這里的接口。所以首先轉換為 []interface{} 然后轉換為字符串。
這是完整的工作代碼: https ://play.golang.org/p/Bdnwit1wBYh


查看完整回答
反對 回復 2023-06-12
  • 1 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號