当我使用下面的GO功能发出POST请求时.我invalid json在服务器端得到了一个.
如果我发送静态json例如
var jsonprep = []byte(`{"username":"xyz@gmail.com","password":"xyz123"}`)
Run Code Online (Sandbox Code Playgroud)
它确实有效而不是
var jsonprep string = "`{username:"+username+",password:"+password+"}`"
Run Code Online (Sandbox Code Playgroud)
.
func makeHttpPostReq(url string, username string, password string){
client := http.Client{}
var jsonprep string = "`{username:"+username+",password:"+password+"}`"
var jsonStr = []byte(jsonprep)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
if err != nil {
fmt.Println("Unable to reach the server.")
} else {
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println("body=", string(body))
}
}
Run Code Online (Sandbox Code Playgroud)
你引用错了:
http://play.golang.org/p/PueWyQ1atq
var jsonprep string = "`{username:"+username+",password:"+password+"}`"
===> `{username:Bob,password:pass}`
Run Code Online (Sandbox Code Playgroud)
你的意思是:
http://play.golang.org/p/LMuwxArf8G
var jsonprep string = `{"username":"`+username+`","password":"`+password+`"}`
===> {"username":"Bob","password":"pass"}
Run Code Online (Sandbox Code Playgroud)