# Function: setting topic name with a string

**URL:** <https://discourse.nodered.org/t/function-setting-topic-name-with-a-string/7446>\
**Category:** General\
**Created:** [31 January 2019 19:36 UTC](https://discourse.nodered.org/t/function-setting-topic-name-with-a-string/7446 "2019-01-31T19:36:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![braunku](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/braunku/32/27955_2.png) [@braunku](https://discourse.nodered.org/u/braunku)\
**Post date:** [31 January 2019 19:36 UTC](https://discourse.nodered.org/t/function-setting-topic-name-with-a-string/7446/1 "2019-01-31T19:36:46Z")

</div>

I am trying to assign the topic name using a string with the function node, however it does not work as expected.

var n1 = "var1"; // string will actually come from an incoming msg  
dataset = {payload : {n1 : 12 , "var2" : 34}};  
msg\_o = dataset;  
return msg\_o;

_This results in a payload of_  
{  
n1 : 12,  
var2 : 34  
}  
_Instead of:_  
{  
var1 : 12,  
var2 : 34  
}  
Is this possible?

---

<div class="post-metadata">

**Author:** ![cflurin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cflurin/32/29_2.png) [@cflurin](https://discourse.nodered.org/u/cflurin)\
**Post date:** [31 January 2019 20:02 UTC](https://discourse.nodered.org/t/function-setting-topic-name-with-a-string/7446/2 "2019-01-31T20:02:24Z")

</div>

> [@braunku](#):
>
> var n1 = "var1"; // string will actually come from an incoming msg  
> dataset = {payload : {n1 : 12 , "var2" : 34}};  
> msg\_o = dataset;  
> return msg\_o;

try:

```auto
dataset = {payload : {[n1] : 12 , "var2" : 34}};

```

---

<div class="post-metadata">

**Author:** ![hotNipi](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hotnipi/32/383_2.png) [@hotNipi](https://discourse.nodered.org/u/hotNipi)\
**Post date:** [31 January 2019 20:02 UTC](https://discourse.nodered.org/t/function-setting-topic-name-with-a-string/7446/3 "2019-01-31T20:02:25Z")

</div>

Here's the rules:  
[https://www.w3schools.com/js/js\_object\_properties.asp](https://www.w3schools.com/js/js_object_properties.asp)

---

<div class="post-metadata">

**Author:** ![braunku](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/braunku/32/27955_2.png) [@braunku](https://discourse.nodered.org/u/braunku)\
**Post date:** [31 January 2019 20:09 UTC](https://discourse.nodered.org/t/function-setting-topic-name-with-a-string/7446/4 "2019-01-31T20:09:05Z")

</div>

Thanks, this works great.
