Разобрать строку JSON внутри activiti bpmn

Приветствую сообщество! я использую Alfresco 6.0.0 Community edition со встроенным Activiti двигатель. Я создаю много разных процессов / задач через файлы.bpmn, и теперь я хотел бы somehow achieve the following scenario:

1) Разверните файл.bpmn с помощью 2 usertasks (usertask1 -> seqflow -> usertask2).

2) Во время выполнения первой задачи я устанавливаю / обновляю переменную процесса и устанавливаю для нее строку в формате JSON (например,{ id: '100', name:'X'}")

У меня вопрос, есть ли какой-нибудь возможный способ для анализа этого JSON (например, для получения значений 'id' или 'name') внутри bpmn?? Я хочу добиться этого внутри usertask2, есть ли какой-нибудь возможный способ? Может быть, что-то в ScriptTaskListener или любой другой слушатель?? Любая помощь будет принята с благодарностью.

Спасибо:)

Вот пользовательская задача

 <userTask id="task2" name="${nameSetOnTask1}"
        activiti:formKey="wf:adhocTask">
       <documentation> Second task </documentation>
       <extensionElements>
           <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
              <activiti:field name="script">
                 <activiti:string>
                  var json = execution.getVariable('json') <!-- this is the string with json value -->

                 </activiti:string>
              </activiti:field>
           </activiti:taskListener>
       </extensionElements>
    </userTask>

1 ответ

Решение

РЕШИТЬ

Мне удалось разобрать строку Json, используя Javascript JSON.parse функция

<activiti:string>
   var json = execution.getVariable('json')
   var jsonObject= JSON.parse(json) ;
   var idValue = jsonObject.id                        
</activiti:string>
Другие вопросы по тегам