在Camunda过程中,如何使用JavaScript和Spin从JSON检索布尔值?

时间:2018-06-04 09:09:02

标签: javascript camunda

我有一个调用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";

任何人都可以帮忙做到这一点吗?

1 个答案:

答案 0 :(得分:1)

我在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();
}