BPM, доступен ли парсер json в скриптовых "кубиках"?

Добрый день.
Подскажите пожалуйста, поддерживается ли объект JsonSlurper() в скриптовых тасках?
Ряд переменных процесса в наших кейсах содержат в себе сериализованные в json объекты и было бы очень удобно работать с ними непосредственно из groovy скриптов прямо на BPM-маршруте.

Здравствуйте, @klopotovik

К сожалению, JsonSlurper не доступен в Script Task. Но можно использовать ObjectMapper. Например, для парсинга JSON следующего вида:

{
  "firstName": "Иван",
  "lastName": "Иванов"
}

можно использовать следующий Groovy скрипт для Script task:

var customerStr = (java.lang.String) execution.getVariable("customer");

var customerNode = new com.fasterxml.jackson.databind.ObjectMapper().readTree(customerStr);
execution.setVariable("firstName", customerNode.get("firstName").asText());
execution.setVariable("lastName", customerNode.get("lastName").asText());

Скрипт позволяет взять значение переменной customer, распарсить JSON и установить значение переменных firstName и lastName.

С уважением,
Мария.

1 симпатия

Мария, спасибо, интересное решение, попробуем по Вашему примеру!
В простых случаях нам оказалось достаточно тривиальной стринговой функции поиска подстроки, но массивы так обходить очень и очень не удобно.