listObject, what functions can use this, and how can I extract values out of it | Adobe Higher Education
Skip to main content
Level 6
May 16, 2024
Répondu

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

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.

 

Meilleure réponse par 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

2 commentaires

SatheeskannaK
Community Advisor
Community Advisor
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
akwanklAuteur
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
Community Advisor
Community Advisor
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
Community Advisor
Community Advisor
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.