package main
import "fmt"
import "encoding/json"
type ServerInfo struct {
SerName string `json:"name"`
SerIp string `json:"ip"`
SerPort uint16 `json:"port"`
}
func main() {
// jsonStr := "{\"SerName\":\"http-nginx\",\"SerIp\":\"10.100.17.27:30001\",\"SerPort\":8080}" \\ 双引号注意转义
jsonStr := "{\"name\":\"http-nginx\",\"ip\":\"10.100.17.27:30001\",\"port\":8080}"
sServer := new(ServerInfo) j
sonBytes := []byte(jsonStr)
uerr := json.Unmarshal(jsonBytes, &sServer)
if nil != uerr {
fmt.Println("error: ", err.Error())
} else {
fmt.Println("uns struct: ", sServer)
}
jsonStr3 := `{"serIp":"192.168.30.133","serPort":"3033","serverName":"apache2-http"}`
\\ 使用键盘1旁边的 ` 符号包裹双引号就不用转义了
uSer := make(map[string]interface{})
uErr := json.Unmarshal([]byte(jsonStr3), &uSer)
if nil != uErr {
fmt.Println("error: ", uErr.Error())
} else {
fmt.Println("unmar map: ", uSer)
}
}
+花大部分时间在调试上
还不是因为你就那个位置没有粘贴复制
通过tag转之后再转回来的话会找不到