Do expression functions work with JSON variables?

There is a JSON variable.

<flowable:eventOutParameter xmlns:flowable="http://flowable.org/bpmn" source="jsonBody" sourceType="json" target="jsonBody" targetType="json"></flowable:eventOutParameter>

Its value:

{"id":"1234","params":{"cardType":"mc"}}

And there is a sequenceFlow with the following condition:

<![CDATA[${var:contains(jsonBody.params.cardType, "mc")}]]>

When executing the process there are no errors, but the the condition always returns false. Whereas variables:isEmpty(jsonBody.params.cardType) returns true.

Using the contains function with string variables works as expected. Then why doesn’t it work with JSON variables ?