# Help converting string to key/value object

**URL:** <https://discourse.nodered.org/t/help-converting-string-to-key-value-object/39636>\
**Category:** General\
**Created:** [24 January 2021 09:44 UTC](https://discourse.nodered.org/t/help-converting-string-to-key-value-object/39636 "2021-01-24T09:44:47Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [24 January 2021 09:59 UTC](https://discourse.nodered.org/t/help-converting-string-to-key-value-object/39636/2 "2021-01-24T09:59:49Z")

</div>

string split is probably best bet.

Split on `<br>` then loop the array and split on `=`

e.g...

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

```auto
const lines = msg.payload.split("<br>");
let result = {};

for (let i = 0; i < lines.length ; i++) {
    const line = lines[i].trim();
    if(!line) continue;
    let parts = line.split("=");
    if(parts.length != 2) continue;
    let key = parts[0].trim();
    let val = parts[1].trim();
    if(isNumeric(val)) val = Number(val)
    result[key] = val;
}

msg.payload = result;
return msg;

function isNumeric(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

```

---

_[View the full topic](https://discourse.nodered.org/t/help-converting-string-to-key-value-object/39636)._
