Unable to send JSON as body for HTTP POST request in GO -


when make post request using below go function. invalid json on server side.

if send static json example

var jsonprep = []byte(`{"username":"xyz@gmail.com","password":"xyz123"}`)  

it work instead of

var jsonprep string = "`{username:"+username+",password:"+password+"}`" 

.

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 reach server.")     } else {          body, _ := ioutil.readall(resp.body)          fmt.println("body=", string(body))     }  } 

you've got quoting wrong:

http://play.golang.org/p/puewyq1atq

var jsonprep string = "`{username:"+username+",password:"+password+"}`"  ===> `{username:bob,password:pass}` 

you meant:

http://play.golang.org/p/lmuwxarf8g

var jsonprep string = `{"username":"`+username+`","password":"`+password+`"}` ===> {"username":"bob","password":"pass"} 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -