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()
}
Nested Structs
https://stackoverflow.com/questions/24809235/how-to-initialize-a-nested-struct
type Configuration struct {
Val string
Proxy Proxy
}
type Proxy struct {
Address string
Port string
}
func main() {
c := &Configuration{
Val: "test",
Proxy: Proxy{
Address: "addr",
Port: "port",
},
}
fmt.Println(c)
fmt.Println(c.Proxy.Address)
}