# Splitting msg payload fields

**URL:** <https://discourse.nodered.org/t/splitting-msg-payload-fields/40042>\
**Category:** General\
**Created:** [30 January 2021 11:36 UTC](https://discourse.nodered.org/t/splitting-msg-payload-fields/40042 "2021-01-30T11:36:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ScheepersJohan](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/scheepersjohan/32/39556_2.png) [@ScheepersJohan](https://discourse.nodered.org/u/ScheepersJohan)\
**Post date:** [30 January 2021 11:36 UTC](https://discourse.nodered.org/t/splitting-msg-payload-fields/40042/1 "2021-01-30T11:36:20Z")

</div>

I have a incoming message of

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/8/48ca89fbf33ec210fc1bd23e2809a9129bd6c2a6.png)

Now I need two messages out and they need to look like this

First one

msg.payload.app\_id: "s\*\*\*\*1"  
msg.payload.payload\_fields.temperature: "27.9"  
msg.payload.metadata.time: "2021-01-30T11:18:12.547860192Z"  
msg.payload.sensor: "temperature"

Second one

msg.payload.app\_id: "s\*\*\*\*1"  
msg.payload.payload.payload\_fields.humidity: "77.5"  
msg.payload.metadata.time: "2021-01-30T11:18:12.547860192Z"  
msg.payload.sensor: "humidity"

Real appreciate your guys help always.

---

<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:** [30 January 2021 12:01 UTC](https://discourse.nodered.org/t/splitting-msg-payload-fields/40042/2 "2021-01-30T12:01:48Z")

</div>

You could probably do it a few ways.

In a function node (deliberately long hand so its easier to read)...

```javascript

var pl1 = {}; //make a new empty object for payload 1
pl1.app_id = msg.payload.app_id;
pl1.payload_fields = { temperature: msg.payload.payload_fields.temperature };
pl1.metadata = { time: msg.payload.metadata.time };
pl1.sensor = "temperature";
var topic1 = msg.topic + "/" + pl1.sensor;

var pl2 = {}; //make a new empty object for payload 2
pl2.app_id = msg.payload.app_id;
pl2.payload_fields = { humidity: msg.payload.payload_fields.humidity };
pl2.metadata = { time: msg.payload.metadata.time };
pl2.sensor = "humidity";
var topic2 = msg.topic + "/" + pl2.sensor;

node.send( { topic: topic1, payload: pl1 }); //send 1st msg
node.send( { topic: topic2, payload: pl2 }); //send 2nd msg

```

NOTE: this will send the 2 messages out of the same output pin.

---

<div class="post-metadata">

**Author:** ![ScheepersJohan](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/scheepersjohan/32/39556_2.png) [@ScheepersJohan](https://discourse.nodered.org/u/ScheepersJohan)\
**Post date:** [30 January 2021 12:30 UTC](https://discourse.nodered.org/t/splitting-msg-payload-fields/40042/3 "2021-01-30T12:30:25Z")

</div>

Thank you exactly what I were looking for. Appreciate you help

---

<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:** [13 February 2021 12:31 UTC](https://discourse.nodered.org/t/splitting-msg-payload-fields/40042/4 "2021-02-13T12:31:20Z")

</div>

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