Как передать динамическую c строку в шаблоне $ match в Jsonata? - PullRequest
0 голосов
/ 07 апреля 2020

Когда я пытаюсь передать значение непосредственно в pattern / 2020-04-01, ARS, AED / работает, но когда я пытаюсь пройти через переменные, я не получаю вывод

$temp1:=ExecutionDate;
$temp2:=Currency;
$temp3:=ConvertToCurrencyISO;
$response_text:="2020-04-01,ARS,AED,.0570575091\n2020-04-01,ARS,AUD,.0252416065"
$response_index:=$match($string($response_text),/$temp1,$temp2,$temp3/).index;

1 Ответ

0 голосов
/ 20 апреля 2020

Вы можете использовать функцию $eval для динамического создания регулярного выражения. Например:

(
    $temp1:=ExecutionDate;
    $temp2:=Currency;
    $temp3:=ConvertToCurrencyISO;
    $regex := $eval('/' & $temp1 & ',' & $temp2 & ',' & $temp3 & '/');
    $response_text:="2020-04-01,ARS,AED,.0570575091\n2020-04-01,ARS,AUD,.0252416065";
    $response_index:=$match($response_text,$regex);
)

См. https://try.jsonata.org/hrE61rzJt

...