服务端
package mainimport ( "easyGo/person" "encoding/json" "net/http"
) func main ( ) { http. HandleFunc ( "/test" , func ( w http. ResponseWriter, r * http. Request) { p := & person. Person{ Name: "jackie" , Age: 30 , T: person. T{ S: "hello world!" , } , } resp := map [ string ] any{ "status" : 0 , "message" : "success" , "data" : p, } jsonData, _ := json. Marshal ( resp) _ , _ = w. Write ( jsonData) } ) if err := http. ListenAndServe ( ":9090" , nil ) ; err != nil { panic ( err) }
}
客户端
package mainimport ( "encoding/json" "fmt" "io" "net/http"
) func parse ( buf [ ] byte ) { var temp0 map [ string ] interface { } err := json. Unmarshal ( buf, & temp0) if err != nil { panic ( err) } var temp1 = temp0[ "data" ] . ( map [ string ] interface { } ) var temp2 = temp1[ "t" ] . ( map [ string ] interface { } ) fmt. Println ( temp1[ "name" ] , temp1[ "age" ] , temp2[ "s" ] )
} func main ( ) { url := "http://127.0.0.1:9090/test" resp, err := http. PostForm ( url, nil ) if err != nil { panic ( err) } buf, err := io. ReadAll ( resp. Body) if err != nil { panic ( err) } parse ( buf)
}