# Passing 2 generated variables in msg.payload as strings

**URL:** <https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616>\
**Category:** General\
**Created:** [13 May 2021 22:44 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616 "2021-05-13T22:44:52Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![krisbarb](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@krisbarb](https://discourse.nodered.org/u/krisbarb)\
**Post date:** [13 May 2021 22:44 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/1 "2021-05-13T22:44:52Z")

</div>

Hi all,

I am new here, so please excuse me if i'm posting this in the wrong topic.

I am using node-red to interface with my blockchain and need to pass the following arguments:

```auto
[2021-05-13T22:29:44.150] [DEBUG] BasicNetwork - channelName : mychannel
[2021-05-13T22:29:44.151] [DEBUG] BasicNetwork - chaincodeName : Multicontracts_cc
[2021-05-13T22:29:44.151] [DEBUG] BasicNetwork - fcn : CreateSensData
[2021-05-13T22:29:44.151] [DEBUG] BasicNetwork - args : {"id":"4","name":"test2","temp":21,"time": 2021:05:11 20:00:00}

```

And i'm using the following code:

```auto
temp = msg.payload.d.ambientTemp;

var date = new Date();
var options = { timeZone: 'Europe/Malta', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' };
var time = date.toLocaleDateString('tr-TR', options);

msg.payload = {"fcn": "CreateSensData", 
"chaincodeName":"Multicontracts_cc",
"channelName": "mychannel", 
"args": ["{\"id\":\"4\",\"name\":\"test2\",\"addedAt\":1600065054,\"temp\": temp, \"time\": time"]};
msg.headers = {'content-type':'application/json'};

return msg;

```

Any ideas how can i pass the temp and time variables to the abive msg payload please?

Thanks!

---

<div class="post-metadata">

**Author:** ![Ranki](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ranki/32/41282_2.png) [@Ranki](https://discourse.nodered.org/u/Ranki)\
**Post date:** [13 May 2021 23:16 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/2 "2021-05-13T23:16:12Z")

</div>

Hi Krisbarb,

Why do you escape all the parameters in args?

You can create the object `args` first (the same way you do it with the msg.payload object) and assign it afterwards directly with `„args“: args`

Edit: Ah, or do you need the JSON-String inside? Check this: [JSON.stringify() - JavaScript | MDN](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)

Cheers  
Ranki

---

<div class="post-metadata">

**Author:** ![krisbarb](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@krisbarb](https://discourse.nodered.org/u/krisbarb)\
**Post date:** [13 May 2021 23:19 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/3 "2021-05-13T23:19:55Z")

</div>

Thanks for your reply 🙂

Yes JSON-string inside

---

<div class="post-metadata">

**Author:** ![Ranki](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ranki/32/41282_2.png) [@Ranki](https://discourse.nodered.org/u/Ranki)\
**Post date:** [13 May 2021 23:20 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/4 "2021-05-13T23:20:44Z")

</div>

I edited my entry; have a look here: [JSON.stringify() - JavaScript | MDN](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)

---

<div class="post-metadata">

**Author:** ![krisbarb](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@krisbarb](https://discourse.nodered.org/u/krisbarb)\
**Post date:** [13 May 2021 23:22 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/5 "2021-05-13T23:22:25Z")

</div>

Appreciate it mate! Let me have a look at this function

---

<div class="post-metadata">

**Author:** ![krisbarb](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@krisbarb](https://discourse.nodered.org/u/krisbarb)\
**Post date:** [14 May 2021 09:10 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/6 "2021-05-14T09:10:59Z")

</div>

@Ranki do you have experience with this function, can i ask you how would you use it with my above code?

Thanks once again for your help 🙂

---

<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:** [14 May 2021 09:36 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/7 "2021-05-14T09:36:00Z")

</div>

> [@krisbarb](#):
>
> ```auto
> msg.payload = {"fcn": "CreateSensData", 
> "chaincodeName":"Multicontracts_cc",
> "channelName": "mychannel", 
> "args": ["{\"id\":\"4\",\"name\":\"test2\",\"addedAt\":1600065054,\"temp\": temp, \"time\": time"]};
> msg.headers = {'content-type':'application/json'};
> 
> ```

You can add time var string to the msg.payload string like below

```auto
msg.payload = {"fcn": "CreateSensData", 
"chaincodeName":"Multicontracts_cc",
"channelName": "mychannel", 
"args": ["{\"id\":\"4\",\"name\":\"test2\",\"addedAt\":1600065054,\"temp\": temp, \"time\": \"" + time +"\""]};

```

you can also add temp

````auto
"args": ["{\"id\":\"4\",\"name\":\"test2\",\"addedAt\":1600065054,\"temp\": \"" + temp + "\", \"time\": \"" + time +"\""]};```
````

---

<div class="post-metadata">

**Author:** ![krisbarb](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@krisbarb](https://discourse.nodered.org/u/krisbarb)\
**Post date:** [14 May 2021 10:26 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/8 "2021-05-14T10:26:53Z")

</div>

Thanks, will give it a try tonight. much appreciate it 🙂

---

<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:** [14 May 2021 10:51 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/9 "2021-05-14T10:51:55Z")

</div>

also you can do this using single quotes around string.

```auto
 msg.payload = {"fcn": "CreateSensData", 
"chaincodeName":"Multicontracts_cc",
"channelName": "mychannel", 
"args": ['{"id":"4","name":"test2","addedAt":1600065054,"temp": "' + temp + '", "time": "' + time + '"']};

```

or this using backticks around string and use ${var}

```auto
 msg.payload = {"fcn": "CreateSensData", 
"chaincodeName":"Multicontracts_cc",
"channelName": "mychannel", 
"args": [`{"id":"4","name":"test2","addedAt":1600065054,"temp": "${temp}", "time": "${time}"`]};

```

---

<div class="post-metadata">

**Author:** ![Ranki](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ranki/32/41282_2.png) [@Ranki](https://discourse.nodered.org/u/Ranki)\
**Post date:** [14 May 2021 13:17 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/10 "2021-05-14T13:17:10Z")

</div>

Hi @krisbarb,

I implemented your code and adjusted it with the stringify-function:

```auto
var temp = 23;
var date = new Date();
var options = { timeZone: 'Europe/Malta', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' };
var time = date.toLocaleDateString('tr-TR', options);

var args = {"id":"4","name":"test2","addedAt":1600065054,"temp": temp, "time": time};
msg.payload = {"fcn": "CreateSensData", 
"chaincodeName":"Multicontracts_cc",
"channelName": "mychannel", 
"args": JSON.stringify(args)};
msg.headers = {'content-type':'application/json'};

return msg;

```

The result looks like this; I think this is, what you wanted to achive, isn't it?

 ![2021-05-14 15_16_03-Node-RED](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/9/890d9fb6e5a882caac4bf4848dafb8609381e524.png)

Cheers  
Ranki

---

<div class="post-metadata">

**Author:** ![krisbarb](https://avatars.discourse-cdn.com/v4/letter/k/bcef8e/32.png) [@krisbarb](https://discourse.nodered.org/u/krisbarb)\
**Post date:** [14 May 2021 13:22 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/11 "2021-05-14T13:22:33Z")

</div>

Perfect. Thanks a mill!

---

<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:** [28 May 2021 13:22 UTC](https://discourse.nodered.org/t/passing-2-generated-variables-in-msg-payload-as-strings/45616/12 "2021-05-28T13:22:53Z")

</div>

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