# Payload binary to Json object

**URL:** <https://discourse.nodered.org/t/payload-binary-to-json-object/95911>\
**Category:** General\
**Created:** [11 March 2025 01:06 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911 "2025-03-11T01:06:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![SanPlatano](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@SanPlatano](https://discourse.nodered.org/u/SanPlatano)\
**Post date:** [11 March 2025 01:06 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/1 "2025-03-11T01:06:31Z")

</div>

Hi everyone, i have a problem to convert data in binary to JSON Object.

I read this binary buffer from websocket:

 ![imagen](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/4/54e4aaebdb0c67ec1341fe28ee025fbdad6fa6bc.png)

This is the same in string payload

 ![imagen](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/f/9fe1a1814fb020541c5dd4e05e33cc3ab8de7c64.png)

when i use a function with msg.payload= msg.payload.toString(); i get the same string but with double quotation marks, the JSON node here dont works

I m stuck from this, because i dont get the way to parse this and get an object, later i want to parse to handle a bridge with modbus tcp, but please help me with this, because i test some solutions on the forum and no ones works 😕

Regards.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [11 March 2025 05:03 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/2 "2025-03-11T05:03:34Z")

</div>

> [@SanPlatano](#):
>
> msg.payload= msg.payload.toString();

Did you try:

```auto
msg.payload = JSON.parse(msg.payload.toString())

```

---

<div class="post-metadata">

**Author:** ![SanPlatano](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@SanPlatano](https://discourse.nodered.org/u/SanPlatano)\
**Post date:** [11 March 2025 13:47 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/3 "2025-03-11T13:47:36Z")

</div>

Yes i try that and dont work , this is the result

 ![imagen](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/6/767ccf757b3c2d24ee44576009cbd6420cfaa8fa.png)

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [11 March 2025 14:08 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/4 "2025-03-11T14:08:14Z")

</div>

Maybe instead of a picture of your screen you could share the actual buffer data?

The debug window shows a "Copy value" button on every message.

In the forum click the `</>` button and paste your copied data.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [11 March 2025 14:41 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/5 "2025-03-11T14:41:38Z")

</div>

Spot the difference:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/4/242899caad841894a9c8a5e010916f711eaae9c8.png)

In short, your data has quotes around it making it invalid JSON.

If you can affect the thing sending the data, you should correct it there.

Failing that, you need to strip off the outer quotes before parsing.

e.g...

```auto
  if (msg.payload.length >= 2 && msg.payload.startsWith('"') && msg.payload.endsWith('"')) {
    msg.payload = msg.payload.slice(1, -1)
  }

```

---

<div class="post-metadata">

**Author:** ![SanPlatano](https://avatars.discourse-cdn.com/v4/letter/s/b77776/32.png) [@SanPlatano](https://discourse.nodered.org/u/SanPlatano)\
**Post date:** [7 April 2025 02:41 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/6 "2025-04-07T02:41:07Z")

</div>

Hi i solve this, using msg.payload=msg.payload.toString(); on a function, later use the JSON node to converting to a JavaScript Object, and its done!

Thanks you all for your support

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [6 July 2025 02:41 UTC](https://discourse.nodered.org/t/payload-binary-to-json-object/95911/7 "2025-07-06T02:41:38Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
