code: func (r *Request) setBodyJson(data interface{}) error {
  	body, err := json.Marshal(data)
  	if err != nil {
  		return err
  	}
  	r.Header.Set("Content-Type", "application/json")
  	r.setBodyReader(bytes.NewReader(body))
  	return nil
  }
docs: // setBodyJson encodes the body as a struct to be marshaled via json.Marshal.