# How to change object "msg.payload" to an array?

**URL:** <https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073>\
**Category:** General\
**Created:** [3 August 2020 08:34 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073 "2020-08-03T08:34:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cyber](https://avatars.discourse-cdn.com/v4/letter/c/ecd19e/32.png) [@Cyber](https://discourse.nodered.org/u/Cyber)\
**Post date:** [3 August 2020 08:34 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073/1 "2020-08-03T08:34:51Z")

</div>

hi,

I am trying to work with a HTTP json response to iterate trough all items of the response and I am failing in getting an iterateable array out of the response.

After the HTTP request node I have the json node with "Always convert to JavaScript Object" .

Now I would like to form a new GET request to another server with ...&keyname1=value1&keyname2=value2...  
a function where I tries to interate trough the javascript object fails with ""TypeError: msg.payload is not iterable"  
in the function I am trying with:  
for (var element of msg.payload) {  
node.warn(element)  
}

I also tried with "msg.payload.length" but as it is a object there is no length ☹

so, how can I convert the object to an array?

Thanks! 🙂

```auto
[{"id":"b4929bc9.9abd38","type":"inject","z":"6d7b6ac1.9d58e4","name":"Heliotherm MP Values Read","topic":"","payload":"","payloadType":"date","repeat":"45","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":280,"wires":[["a95957af.582608"]]},{"id":"a95957af.582608","type":"http request","z":"6d7b6ac1.9d58e4","name":"api/v1/fastquery/","method":"GET","ret":"obj","paytoqs":false,"url":"http://192.168.0.250:8800/api/v1/fastquery/","tls":"","persist":false,"proxy":"","authType":"","x":380,"y":280,"wires":[["3da0187a.bcd238","a3375ca2.4215b"]]},{"id":"a3375ca2.4215b","type":"json","z":"6d7b6ac1.9d58e4","name":"","property":"payload","action":"obj","pretty":false,"x":660,"y":220,"wires":[["471e78af.991fb8","9d20de65.45e46"]]},{"id":"9d20de65.45e46","type":"function","z":"6d7b6ac1.9d58e4","name":"iterate","func":"\nfor (var element of msg.payload) {\n node.warn(element)\n}\n\nreturn msg;","outputs":1,"noerr":0,"x":870,"y":260,"wires":[["63f98f12.99146"]]},{"id":"63f98f12.99146","type":"debug","z":"6d7b6ac1.9d58e4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1020,"y":260,"wires":[]},{"id":"471e78af.991fb8","type":"debug","z":"6d7b6ac1.9d58e4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1010,"y":200,"wires":[]}]

```

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [3 August 2020 09:18 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073/2 "2020-08-03T09:18:56Z")

</div>

can you show us a debug or cut/paste of the type of output you get from the request node ?

---

<div class="post-metadata">

**Author:** ![Cyber](https://avatars.discourse-cdn.com/v4/letter/c/ecd19e/32.png) [@Cyber](https://discourse.nodered.org/u/Cyber)\
**Post date:** [3 August 2020 09:21 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073/3 "2020-08-03T09:21:44Z")

</div>

![debug](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/5/a5a49e8f03b165d4ffa5e2aad774479fcd7db5f7.png)  
here it is.

Thanks!

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [3 August 2020 09:30 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073/4 "2020-08-03T09:30:36Z")

</div>

Hi @Cyber

this post explains how to iterate over the properties of an object - [https://stackoverflow.com/questions/684672/how-do-i-loop-through-or-enumerate-a-javascript-object](https://stackoverflow.com/questions/684672/how-do-i-loop-through-or-enumerate-a-javascript-object)

---

<div class="post-metadata">

**Author:** ![Cyber](https://avatars.discourse-cdn.com/v4/letter/c/ecd19e/32.png) [@Cyber](https://discourse.nodered.org/u/Cyber)\
**Post date:** [3 August 2020 09:45 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073/5 "2020-08-03T09:45:36Z")

</div>

thank you - works like a charm now. 🙂 😀

---

<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:** [17 August 2020 09:45 UTC](https://discourse.nodered.org/t/how-to-change-object-msg-payload-to-an-array/31073/6 "2020-08-17T09:45:45Z")

</div>

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