Skip to main content
Level 6
May 16, 2024
Solved

listObject, what functions can use this, and how can I extract values out of it

  • May 16, 2024
  • 7 replies
  • 1380 views

Hi there,

 

I have an Object Array that looks something like this:

 

"Account":

[

{"AccountID": "1", "lineofBusiness": "AA", "pymntType": "Cash"},

{"AccountID": "2", "lineofBusiness": "BB", "pymntType": "CreditCard"},

{"AccountID": "3", "lineofBusiness": "CC", "pymntType": "Debit"},

{"AccountID": "4", "lineofBusiness": "CC", "pymntType": "CreditCard"} 

]

 

Let's say I only want to clean up the array to accounts that has pymntType = CreditCard only, so then the expression would look something like this:

filter(#{ExperiencePlatform.Profile.Account, "pymtType", ["CreditCard"]} --> this returns a listObject with pymtType == CreditCard only. 

 

At this point, I have couple questions:

1) What can I do with this listObject? I am not aware of any functions that accept listObject as a parameter

2) How do I extract a value of this new listObject? For example, I want the lineofBusiness at position 0. 

 

Thanks.

 

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 SatheeskannaK

@akwankl 

One of the places where listObject is used on custom actions. Take a look at this documentation.

To retrieve account object values have a look at the collection management functions

7 replies

SatheeskannaK
Adobe Champion, Community Advisor, UG Leader
SatheeskannaKAdobe Champion, Community Advisor, UG LeaderAccepted solution
Adobe Champion, Community Advisor, UG Leader
May 17, 2024

@akwankl 

One of the places where listObject is used on custom actions. Take a look at this documentation.

To retrieve account object values have a look at the collection management functions

Thanks, Sathees
akwanklAuthor
Level 6
May 22, 2024

Hi @satheeskannak,

 

Is it possible to extract the listObject with the filter function, then grab a value out of listObject? In my example, something like filter(#{ExperiencePlatform.Profile.Account, "pymtType", ["CreditCard"]}.lineofBusiness

 

Thanks.

SatheeskannaK
Adobe Champion, Community Advisor, UG Leader
Adobe Champion, Community Advisor, UG Leader
May 23, 2024

Can you try along these lines, 

serializeList(#{ExperiencePlatform.Profile.Account.all(currentDataPackField.pymntType == "CreditCard").lineOfBusiness}, ",", true)

Expected output: BB,CC

Thanks, Sathees
Adobe Employee
May 12, 2025

Is it possible to write a condition that only selects profiles with a "lineofBusiness": "CC" and "pymntType": "CreditCard"?
So in this scenario only AccountID 4 would qualify?

SatheeskannaK
Adobe Champion, Community Advisor, UG Leader
Adobe Champion, Community Advisor, UG Leader
May 13, 2025
Adobe Employee
May 13, 2025

Can you give an example of what the JSON structure looks like for these functions?

#{ExperiencePlatform.ExperienceEventFieldGroup.experienceevent.all(currentDataPackField._aepgdcdevenablement2.purchase_event.receipt_nbr == "10-337-4016"). _aepgdcdevenablement2.purchase_event.productListItems.all(currentDataPackField.SKU == "AB17 1234 1775 19DT B4DR 8HDK 762").name}

and

#{ExperiencePlatform.ExperienceEventFieldGroup.experienceevent.last( currentDataPackField.eventType == "commerce.productListAdds").productListItems.last(currentDataPackField.priceTotal >= 150).name}

 I'm not sure where the .name portion comes from.