Noob
4 years agoNew Contributor
Copybook parse
How to use this Snap, Copybook parser. I didn’t find a proper documentation in SnapLogic on this snap.
How to use this Snap, Copybook parser. I didn’t find a proper documentation in SnapLogic on this snap.
Yes but .map() function transforms every element from the Array, I only need to change the fields where there are numbers. Is there a way that I can use conditional logic inside of the .map() function?( if typeof value == ‘number’ then value * 10 else value
Absolutely - the expression in the map function can use ternary logic just like you have in your example updating the object elements.
Assuming an input array:
{ "myArray": [ "abc", 13, "def", 15 ] }
This works as I believe you are requesting:
$myArray.map(x => x instanceof Number ? x * 10 : x)
{ "updatedArray": [ "abc", 130, "def", 150 ] }
You are right, in this case it works but in my case I have an array of objects which I finally managed to work with this: jsonPath($, "$nested[*]").map(x => x.mapValues((value, key) => !isNaN(value) ? value * 10 : value))
Input:
"nested": [{"m": "hey", "o": 10, "p": "hello", "q": 100}]
Output:
"nested": [{"m": "hey", "o": 100, "p": "hello", "q": 1000}]
Thank you @koryknick for your guidance!