[bigdata-089]go 以http get从server端读取json然后转化成json格式打印输出

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")
		}
	}
}


你可能感兴趣的:([bigdata-089]go 以http get从server端读取json然后转化成json格式打印输出)