# Converting Object to Array

**URL:** https://discourse.nodered.org/t/converting-object-to-array/62669
**Category:** General
**Tags:** function-node
**Created:** [16 May 2022 05:52 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669 "2022-05-16T05:52:22Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![devittobk](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/devittobk/32/34448_2.png) [@devittobk](https://discourse.nodered.org/u/devittobk)
#### Post date: [16 May 2022 05:52 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669/1 "2022-05-16T05:52:22Z")

</div>

Hi,

I have a **msg.payload: Object** as shown below:

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/0/108113980fb4d5fe8165f99e37d05dd3d3b4ad46.png)

I would like to convert it to an array with the following format:

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

Any ideas on how to achieve this? I was thinking of a function node, but do not know where to start

I am a complete newbie to Node-RED and coding so any help would be appreciated

Thanks!

---

<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: [16 May 2022 06:46 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669/2 "2022-05-16T06:46:21Z")

</div>

> [@devittobk](#):
>
> Any ideas on how to achieve this?

[`Object.entries`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries) and [`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) can do this...

```auto
msg.payload = Object.entries(msg.payload).map(([key, value]) => { return {[key]:value}} )
return msg;

```

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

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [16 May 2022 07:17 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669/3 "2022-05-16T07:17:26Z")

</div>

You can also use a join and split node, for a low code option.  
Also you can use jsonata in a change node.  
here is a n example of both methods.

```auto
[{"id":"f60a5489.434a28","type":"change","z":"bf9e1e33.030598","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$spread(msg.payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":1580,"wires":[["d3e1018c.b2864"]]},{"id":"af64afa4.30bb3","type":"inject","z":"bf9e1e33.030598","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"one\":1,\"two\":2}","payloadType":"json","x":160,"y":1500,"wires":[["2f53cb88.fb56c4","f60a5489.434a28"]]},{"id":"d3e1018c.b2864","type":"debug","z":"bf9e1e33.030598","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":670,"y":1580,"wires":[]},{"id":"2f53cb88.fb56c4","type":"split","z":"bf9e1e33.030598","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"topic","x":310,"y":1500,"wires":[["d74eb6af.1c5d38"]]},{"id":"447566c0.b6d668","type":"join","z":"bf9e1e33.030598","name":"","mode":"auto","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":"false","timeout":"","count":"","reduceRight":false,"x":610,"y":1500,"wires":[["d3e1018c.b2864"]]},{"id":"d74eb6af.1c5d38","type":"change","z":"bf9e1e33.030598","name":"","rules":[{"t":"move","p":"payload","pt":"msg","to":"payload[msg.topic]","tot":"msg"},{"t":"set","p":"parts.type","pt":"msg","to":"array","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":450,"y":1500,"wires":[["447566c0.b6d668"]]}]

```

JSONata expression in a change node

```auto
$spread($$.payload)

```

---

<div class="post-metadata">

### Author: ![devittobk](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/devittobk/32/34448_2.png) [@devittobk](https://discourse.nodered.org/u/devittobk)
#### Post date: [16 May 2022 09:44 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669/4 "2022-05-16T09:44:17Z")

</div>

Thank you very much just what I was looking for!

---

<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: [16 May 2022 10:37 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669/5 "2022-05-16T10:37:24Z")

</div>

Please mark the solution you chose (for future readers benefit). Ta.

---

<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: [15 July 2022 10:37 UTC](https://discourse.nodered.org/t/converting-object-to-array/62669/6 "2022-07-15T10:37:43Z")

</div>

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