Forum Discussion
Can you give me an example?
Here is what works.
eval-pipeline-params_2017_11_13.slp (3.3 KB)
- tstack8 years agoFormer Employee
The
jsonPath()
function can be used to read a value from an object at a given path ($col_name
is your path here). So, you should be able to use the following expression to do what you want:jsonPath($, _col1)
If you only have a property name and not a full path, you can use square-bracket notation to lookup the property. For example, if you set “col1” to “col_name” instead of “$col_name”, you can do:
$[_col1]
The language only sees “_col1” as a variable containing a string, which is why the output is the string “$col_name”. You need to use the jsonPath() function to interpret the string as a path.
- yashsri8 years agoNew Contributor II
Thanks a lot. it is working as expected. I have one more question.
There is an option of LEAVE BLANK TO DELETE SOURCE PATH under target path. How can I put a parameter there and pass blank so that the corresponding source column is not mapped in output.
check the 2nd and 3rd target path. I am passing blank in col2 parameter. so it is showing null instead of not showing that column in output. But If i leave that column blank as in target 3, it doesn’t show it in output preview. How can I achieve this?
Thanks in advance.
- tstack8 years agoFormer Employee
If “_col2” contains the name of the property you want to delete, you can use the following in the Expression column:
$[(_col2)]
When the “Target Path” column in the mapper is left blank, then the “Expression” column is treated as the JSON-Path to be deleted from the input document. So, if the property name to be deleted is not known ahead of time, you need to write the path to evaluate an expression to get the property name. That’s what this part of the path –
[(...)]
– is doing. The part between the parentheses is treated as an expression that should evaluate to the name of the property.
Related Content
- 11 months ago
- 2 years ago
- 4 years ago