I receive a JSON as a buffer. I want to parse it into a readable or JSON object.
However, despite all techniques (JSON.stringify()
, toString('utf8'
), I am not able to get it done.
here is what I have so far:
And here is what it gives me:
How can I transform it into a readable something?
Buffers have a toString() method that you can use to convert the buffer to a string. By default, toString() converts the buffer to a string using UTF8 encoding. For example, if you create a buffer from a string using Buffer. from() , the toString() function gives you the original string back.
Buffers can convert to JSON. The JSON specifies that the type of object being transformed is a Buffer , and its data.
In Node. js, the Buffer. toString() method is used to decode or convert a buffer to a string, according to the specified character encoding type. Converting a buffer to a string is known as encoding, and converting a string to a buffer is known as decoding.
Your code is working. The buffer you have is actually the string "[object Object]"
.
let b = Buffer.from('[object Object]', 'utf8')
console.log(JSON.stringify(b))
// {"type":"Buffer","data":[91,111,98,106,101,99,116,32,79,98,106,101,99,116,93]}
console.log(b.toString('utf8'))
// [Object object]
The problem you need to figure out is why is a buffer with that string being sent. It seems like the sender of the buffer needs to call stringify
or otherwise serialize the object before sending it. Then you can turn it back to a string with toString()
and use JSON.parse()
on the string.
Try
console.log(Buffer.from(val).toString());
This will convert [object Object]
as a string
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With