storing an array of strings in a profile attribute | Community
Skip to main content
October 16, 2015
Solved

storing an array of strings in a profile attribute

  • October 16, 2015
  • 3 replies
  • 3719 views

Hi,

I have the following profile script:

user.arrayTest

if (mbox.name == "kevins_mbox") {
  user.setLocal("arrayTest", ["hello", "world"]);
  return user.getLocal("arrayTest");
}

However, when trying to use the array in a JS offer via: ${user.arrayTest}

The final output looks like this: [hello, world] - i.e. the quotes are missing and a JavaScript error is thrown.

According to this document: http://microsite.omniture.com/t2/help/en_US/tnt/pdf/js_expression_cheat_sheet.pdf

"Script Profile Parameters are found under the mboxes/profiles tab. You 
can write Javascript programs that return any Javascript type (String, 
integer, array, etc)"

Can someone tell me what I am doing wrong here?

Many thanks,

Kevin

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by

With just the snippet above, quotation marks should not be getting removed.

However, they would not be printed out if you were trying to display/use one of the elements of the array. i.e. you would need to something like this get the quotation marks printed out:

['"hello"', '"world"']

It would be helpful to have some more context.

What is the JavaScript error you are getting?

Can you be more specific about what you are doing with ${user.arrayTest}?

Is it possible to share the page on which you are trying to implement this custom code? a link to the page, the page code, etc.

 

- Carey

3 replies

Avik_Banerjee
Level 3
October 16, 2015

Hi Kevin,


Maybe if you fixed the quotes the output would look right.

 

Thanks,

Avik

Kevin4Author
October 16, 2015

Hi Avik,

Thanks for your reply. I am passing the array with quoted elements. Point is, that is not what is returned from the TnT engine (missing the quotes)

Accepted solution
October 16, 2015

With just the snippet above, quotation marks should not be getting removed.

However, they would not be printed out if you were trying to display/use one of the elements of the array. i.e. you would need to something like this get the quotation marks printed out:

['"hello"', '"world"']

It would be helpful to have some more context.

What is the JavaScript error you are getting?

Can you be more specific about what you are doing with ${user.arrayTest}?

Is it possible to share the page on which you are trying to implement this custom code? a link to the page, the page code, etc.

 

- Carey