cancel
Showing results for 
Search instead for 
Did you mean: 

How to get only one of two items returned

swright
New Contributor III

In a mapper snap, my current expression is:
$[‘env:Envelope’][‘env:Body’][‘ns0:uploadFileToUcmResponse’].result[‘$’]

I only want the second value “123109” returned as a string. How can I do this? Thanks!

image

10 REPLIES 10

Supratim
Contributor III

@swright array[1] , it will give you 2nd value. for your case it looks like-

[‘env:Envelope’][‘env:Body’][‘ns0:uploadFileToUcmResponse’].result[‘$’][1]
or
[‘env:Envelope’][‘env:Body’][‘ns0:uploadFileToUcmResponse’].result[1]

swright
New Contributor III

I had tried these before and I think that they should have worked but they didn’t.

The first one changed the values to 1 and 2 which isn’t what I want:

$[‘env:Envelope’][‘env:Body’][‘ns0:uploadFileToUcmResponse’].result[‘$’][1]

The second one failed with:

reason":

“‘1’ was not found while evaluating the sub-expression ‘$[‘env:Envelope’][‘env:Body’][‘ns0:uploadFileToUcmResponse’].result[1]’”

I also tried the following that failed:

$[‘env:Envelope’][‘env:Body’][‘ns0:uploadFileToUcmResponse’].result[‘$’].pop()

It failed with:

"String type does not have a method named: pop, found in: …sult[‘$’].pop().

Thanks,

Scott

Supratim
Contributor III

@swright Is that possible to share sample json here?

swright
New Contributor III

I attached a copy of the json.

I am currently using a fix for the issue in which I use a filter snap after the mapper. It works, but I think that I should be able to select from the values in the mapper and not have to use the filter. Although it looked to me like an array, it seems to be a string which is why many of the things I tried didn’t work.

image001.png

Thanks,

Scott

(Attachment Copy_output0.json is missing)