1. 文档
参考各种文档,不一一列举
2. 代码
package main
import "fmt"
import "io/ioutil"
import "net/http"
import "encoding/json"
func main() {
//http get
resp, err := http.Get("http://127.0.0.1:8080/v1/shorten/?longurl=http://google.com")
if err != nil {
// handle error
}
defer resp.Body.Close()
//get body
body, err := ioutil.ReadAll(resp.Body)
//just print
fmt.Printf(string(body))
fmt.Print("\n")
//convert []byte to json
var f interface{}
json.Unmarshal(body, &f)
//convert f to map
m := f.(map[string]interface{})
//print v with key
for k, v := range m {
switch vv := v.(type) {
case string:
fmt.Println(k, "is string", vv)
case int:
fmt.Println(k, "is int", vv)
case []interface{}:
fmt.Println(k, "is an array:")
for i, u := range vv {
fmt.Println(i, u)
}
default:
fmt.Println(k, "is of a type I don't know how to handle")
}
}
}