cancel
Showing results for 
Search instead for 
Did you mean: 

Mapper to retrieve a field value from optional json path

bibhuti10785
New Contributor

I have to extract "pw_cc__IsoCode_2__c" when in the payload "Country_of_Installation__r" is present.

Since both parent property Opportunity  and child property Country_of_Installation__r are optional field i need to  check if the node present before extracting the value. I tried in mapper  $.get('Opportunity').get('Country_of_Installation__r').get('pw_cc__IsoCode_2__c') but this throws can not invoke a method on null value.

Tried other javascript functions but most of them are not supported here.

can anyone help me with proper script.

[{
    "OpportunityId":"0063x00001bZVt8AAG",
    "Opportunity":
        {
            "Id":"0063x00001bZVt8AAG",
            "Country_of_Installation__r":
                {
                    "attributes":
                        {
                            "type":"aaaaaa",
                            "url":"/services/data/v60.0/bbbb"
                        },
                    "Id":"a4u120000008XpbAAE",
                    "pw_cc__IsoCode_2__c":"MZ"
                }
           
        }
}]
 
 
 
1 ACCEPTED SOLUTION

Aleksandar_A
Contributor III

Hello @bibhuti10785,

You can with the following expression in a Mapper Snap:

jsonPath($,"..pw_cc__IsoCode_2__c") != [] ? jsonPath($,"..pw_cc__IsoCode_2__c").pop() : null

Attached below is a sample pipeline.

Please let me know if this helps you!

Regards,

Aleksandar.

View solution in original post

2 REPLIES 2

Aleksandar_A
Contributor III

Hello @bibhuti10785,

You can with the following expression in a Mapper Snap:

jsonPath($,"..pw_cc__IsoCode_2__c") != [] ? jsonPath($,"..pw_cc__IsoCode_2__c").pop() : null

Attached below is a sample pipeline.

Please let me know if this helps you!

Regards,

Aleksandar.

You could also try with the following expression:

$.hasPath("Opportunity.Country_of_Installation__r.pw_cc__IsoCode_2__c") ? $Opportunity.Country_of_Installation__r.pw_cc__IsoCode_2__c : null