# Convert array to key/value pair

**URL:** <https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441>\
**Category:** General\
**Created:** [6 November 2020 12:26 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441 "2020-11-06T12:26:51Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![beerygaz](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/beerygaz/32/31508_2.png) [@beerygaz](https://discourse.nodered.org/u/beerygaz)\
**Post date:** [6 November 2020 12:26 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441/1 "2020-11-06T12:26:51Z")

</div>

I have msg.payload as an array that I'd like to convert to a key/value pair.

debug shows msg.payload[1] : "25.6"

I'd like to create msg.payload.temperature: "25.6"

I'm using a "change" node to try and set msg.payload.temp to msg.payload[1] but it will not create the obejct.

I can however set msd.temp to msg.payload[1]

Where am I going wrong?

---

<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:** [6 November 2020 12:55 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441/2 "2020-11-06T12:55:49Z")

</div>

msg.payload is an array, you would need to convert it to an object.  
so in change node  
1 set msg.hold = msg.payload.  
2 set msg.payload = {} (select json)  
3 set msg.payload.temperature = msg.hold[1]

---

<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:** [6 November 2020 13:01 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441/3 "2020-11-06T13:01:51Z")

</div>

or use move rather than set....

---

<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:** [6 November 2020 13:25 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441/4 "2020-11-06T13:25:51Z")

</div>

I thought that but as payload was being overwritten either would do.  
Also if you use move the original payload data will be changed also, this will not be an issue if you don't need it later one.

---

<div class="post-metadata">

**Author:** ![beerygaz](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/beerygaz/32/31508_2.png) [@beerygaz](https://discourse.nodered.org/u/beerygaz)\
**Post date:** [6 November 2020 16:18 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441/5 "2020-11-06T16:18:27Z")

</div>

That makes sense. I can’t change the engine on the plane while flying. Thanks for the advice.

---

<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:** [20 November 2020 16:18 UTC](https://discourse.nodered.org/t/convert-array-to-key-value-pair/35441/6 "2020-11-20T16:18:38Z")

</div>

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