For some reason my parser fields are not available as variables in my action node. Trying to automate the updating of warranty expiry dates for assets. Screenshot below.
Hi, can you please post a screenshot of the parser setup?
Some fields in the action do only accept some type of placeholders. If itβs a date field you could use a expression node to convert it from a string to a date placeholder and then you can use it in the action node. But I need screenshot of the payload and the parser setup.
//Daniel
Hey Daniel, thanks for the advice. I now realize that the reason it was not available is because the field I was looking for was an array of strings. Each string is separated by a comma. When I do s split: β,β the data becomes unpassable to another function field. Do you have any ideas on how I might approach this?
Input:
β2026-07-12T00:00:00Zβ,
β2024-07-12T00:00:00Zβ,
β2028-07-12T00:00:00Zβ
Output:
2026-07-12T00:00:00Zβ β2024-07-12T00:00:00Zβ '2028-07-12T00:00:00Z
Passing this to the next function node I receive this message:
Invalid Syntax - One of its operands is invalid.
Hi, you need do some changes to the Parser node.
You need to first, change the typ to string then you need to use JSON path expression, you will see something like this in the path change that to [0] for the first or [-1:] last item in the array. Depending how the payload is sorted.
Then you get only one. After that you can use expression node to convert it to a date/time placeholder.
If the placeholder contains " and you need to remove them using {{ placeholder | remove: β[β | remove: β]β | remove: β"β }}
If I make these changes in the demo output mode will they remain in regular use?
The changes I said it will. If you change the whole path it will not pick it upp. Itβs a filter that matches the JSON output.
So if I am understanding you correctly, in the JSon Parser node under the following headers:
Output
Use JSON path expressions to define outputs that you would like to reference in subsequent workflow nodes
any changes made to output formatting will remain regardless of new input passed to the parser?
Yes, as long as the JSON payload is formatted in the same way you used for generating the output.
All this lines was the same I just changed the first one to just give me the last object in the array. ( should be -1:
All the others with * will give me all objects in the array.
After you done that you need to do something like this. After that you can use the expression in your action to set the date. You can use the date function in the expression node to add or remove time if you like to change it in some way.
'{{placeholder_from_parser | remove: ']' | remove: '[' | remove: '"'}}'
Alright Iβll give this method a try, thank you.
Only way I know of to convert a string from a JSON parser into a date formatet placeholder.
Issue here is that the parser gives you a array and you need to filter it down to 1 object in that array.
The parser is just a template how the node should convert the JSON payload into placeholders.
So you can change few things in it.
For some reason even if you change the variable type to string that should remove the
[ and ] "
they are still there and you need to use Liquid filter to remove the signs for it to work in the expression node.
Is it even possible to pass these strings to a liquid filter considering they are encompassed by the [ and ]?
Sure, placeholders in FS are liquid tags and they use {{ }} and you can remove about anything using the | remove: filter
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.