使用Go語言請求第三方接口并解析JSON是一種常見的操作。在這個過程中,我們首先需要使用Go語言的HTTP庫建立一個HTTP請求,然后通過該請求向目標(biāo)URL發(fā)送請求。隨后,我們需要使用Go語言的JSON解析庫解析從API中獲取到的JSON數(shù)據(jù)。
下面是一個使用Go語言請求第三方接口并解析JSON的簡單示例:
package main import ( "fmt" "net/http" "io/ioutil" "encoding/json" ) func main() { // 向指定URL發(fā)送GET請求 resp, err := http.Get("https://api.example.com/users") if err != nil { fmt.Println("請求失敗:", err) } defer resp.Body.Close() // 讀取HTTP響應(yīng)體的JSON數(shù)據(jù) body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("讀取響應(yīng)失敗:", err) } // 解析JSON數(shù)據(jù) var data []map[string]interface{} err = json.Unmarshal(body, &data) if err != nil { fmt.Println("解析JSON失敗:", err) } // 處理解析后的數(shù)據(jù) for _, item := range data { fmt.Println(item["name"]) } }
在上述代碼中,我們首先使用HTTP庫的Get方法向指定URL發(fā)送請求,然后通過ioutil庫的ReadAll函數(shù)讀取響應(yīng)體。隨后,我們使用json庫解析得到的JSON數(shù)據(jù),并將其解析為一個字符串字典的數(shù)組。
最后,我們可以對解析后的數(shù)據(jù)進(jìn)行任意操作。例如,我們可以使用for循環(huán)遍歷數(shù)組,并輸出其中的“name”屬性。