我有一个服务任务,它调用REST API。该API返回以下JSON:

{
    "success": true,
    "message": null,
    "details": [],
    "errors": [],
    "transactions": []
}


服务任务具有一个JavaScript输出参数来处理JSON输出:

var statusCode = connector.getVariable("statusCode");
if (statusCode != 200) {
    throw new Error(connector.getVariable("response"));
}
else {
    var output = S(connector.getVariable("response"));
    output.prop("success").value==true;    // Problem line
}


我已将output发送到过程变量,并确认它包含上面的JSON。但是,我无法将此输出注册为true以便随后对该过程进行分叉。我已经尝试了以下所有方法:

output.prop("success");
output.prop("success").value;
output.prop("success").value==true;
output.prop("success").value===true;
output.prop("success").value=="true";


谁能帮忙解决这个问题?

最佳答案

我在Camunda论坛here上获得了帮助。现在,我的代码如下所示,并且可以按需工作:

var statusCode = connector.getVariable("statusCode");
if (statusCode != 200) {
    throw new Error(connector.getVariable("response"));
}
else {
    var output = S(connector.getVariable("response"), "application/json");
    output .prop("success").boolValue();
}

09-10 10:56
查看更多