在 Camunda 进程中,如何使用 JavaScript 和 Spin 从 JSON 检索布尔值?
In a Camunda process, How can I retrieve a boolean value from JSON using JavaScript and Spin?
我有一个调用 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();
}
我有一个调用 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();
}