Добрый день.
Подскажите пожалуйста, поддерживается ли объект 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 симпатия
Мария, спасибо, интересное решение, попробуем по Вашему примеру!
В простых случаях нам оказалось достаточно тривиальной стринговой функции поиска подстроки, но массивы так обходить очень и очень не удобно.