Разобрать строку 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>