cancel
Showing results for 
Search instead for 
Did you mean: 

How to get all values of a key from objects in a list?

jfpelletier
Contributor

Hello all,

I'm a bit blocked at the moment, hopefully someone can help me again... 🙂

This time I have simple objects stored in an array that looks like this:

[
	{
		"language": "German",
		"id": "43251-1-2"
	},
	{
		"language": "French (Europe)",
		"id": "43251-1-3"
	},
	{
		"language": "Italian",
		"id": "43251-1-4"
	}
]

From that list, I need to extract the values of the "language" keys and put them in a list like this:

["German", "French (Europe)","Italian"]

I suspect that I need to use the .reduce function on the array first, then get the value of the "language" keys, but all my attempts failed... I must say that I'm not very familiar with the .reduce function, I'm just hoping that I was in the right direction... And it's probably much simpler than I think it is...

Thanks in advance for your help! 🙂

JF

1 ACCEPTED SOLUTION

ddellsperger
Moderator
Moderator

If your data is a field like languages, you could use $languages.map(obj => obj.language) to pull just those values out.

View solution in original post

9 REPLIES 9

ddellsperger
Moderator
Moderator

If your data is a field like languages, you could use $languages.map(obj => obj.language) to pull just those values out.

Hello @ddellsperger,

Yes! That works perfectly! I was looking at this wrong... 😋

Thanks a lot and have a great rest of the day.

JF

koryknick
Employee
Employee

you can also use jsonPath, which if you pull the "language" field of your field into the Expression of your Mapper snap, it should correctly create the syntax to return those values for you.

tbranco
Employee
Employee

Hi JF,

Here is a pipeline with the 2 solutions from David and Kory + 1 using the reduce() method.

Happy Expressioning!