Forum Discussion
Hi,
To read the value from incoming mapper you just need to use $ and read from parameter you need to use ${_parameterName}.
[
{
"readFromUpStreamMapper": $a,
"readFromPrameter" : ${_parameterB}
}
]
- Rudradip7 years agoNew Contributor II
yes @gowdhaman008 I know these things .I have tried in that way also . Same error is coming .
I have tried with this :
"{
"remove": { "index": $CURRENT_IDX, "alias": ${_IDX_ALIAS}$Suffix_batch }
}"
My main issues is for the concatenate part . That is giving the trouble .
The following is working just fine 🙂
"{
"remove": { "index": $CURRENT_IDX, "alias": ${_IDX_ALIAS} }
}"
- robin4 years agoFormer Employee
@Rudradip This is a follow up after a considerable period of time but I wanted to answer the question.
Assuming in input document to the JSON Generator like:
{ "Body": "456", }
This concatenation in the JSON Generator WILL NOT work:
[ { "Response": { "Message": "Thank you for your message, which was $Body" } } ]
and will result in an error like
Failed to validate the output Resolution: Verify that the table values and the template are correct Reason: Unexpected character ('4' (code 52)): was expecting comma to separate Object entries
But if you use a Velocity Directive, the following WILL work:
#set( $message = "Thank you for your message, which was $Body" ) [ { "Response": { "Message": $message } } ]
The output document will look like:
[{ "Response": { "Message": "Thank you for your message, which was \"456\"" } }]
Do note that the
$Body
value has been wrapped in quotes. I’ll investigate if there is a way to remove those.- artjay4 years agoNew Contributor
Thanks. This is very helpful