I\'m trying to return some json back from the server but get this error with the following code
cannot use buffer (type *bytes.Buffer) as type []byte in argument
Write requires a []byte
(slice of bytes), and you have a *bytes.Buffer
(pointer to a buffer).
You could get the data from the buffer with Buffer.Bytes() and give that to Write()
:
_, err = w.Write(buffer.Bytes())
...or use Buffer.WriteTo() to copy the buffer contents directly to a Writer
:
_, err = buffer.WriteTo(w)
Using a bytes.Buffer
is not strictly necessary. json.Marshal() returns a []byte
directly:
var buf []byte
buf, err = json.Marshal(thing)
_, err = w.Write(buf)