Hi Stella,
Gatling doesn't currently give back an Map if the jsonPath query points to an object.
Gatling 1.5.x behaviour was the same on that regard.
Please note that, as this would be a new feature, it would have to wait until September and Gatling 2's stable release, and it would target Gatling 2.1.
However, you don't need to go all the way back to regexes if you want to fetch both the "label" and "value" attributes, you can simply split up your check to search and save each attribute separately :
.check(jsonPath("$.data[?(@.label == 'Salary')].label").saveAs("selectedPaymentLabel"))
.check(jsonPath("$.data[?(@.label == 'Salary')].value").saveAs("selectedPaymentValue"))
Hope this helps !
Cheers,
Pierre