Golang Maps
Jump to navigation
Jump to search
package main import ( // "string" "fmt" "github.com/go-resty/resty/v2" "encoding/json" "reflect" ) var PDAuthToken = "" var url = "https://api.pagerduty.com/services/XXXXXXX" func test1() { client := resty.New() rsp,err := client.R().SetHeader("Accept", "application/json").SetHeader("Authorization", "Token token="+PDAuthToken).Get(url) if err != nil { fmt.Println(err) return } rspBody := rsp.Body() rspJSON := string(rspBody) // Declared an empty map interface var result map[string]interface{} // Unmarshal or Decode the JSON to the interface. json.Unmarshal([]byte(rspJSON), &result) fmt.Println("Type:", reflect.TypeOf(result)) fmt.Println("Service :", result["service"]) service, valid := result["service"].(map[string]interface{}) fmt.Println("service_alert_grouping_timeout :", service["alert_grouping_timeout"]) _ = valid } func main(){ test1() }