代码之家  ›  专栏  ›  技术社区  ›  Peter

在camunda进程中,如何使用javascript和spin从json检索布尔值?

  •  1
  • Peter  · 技术社区  · 6 年前

    我有一个调用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 回复  |  直到 6 年前
        1
  •  1
  •   Peter    6 年前

    我在卡蒙达论坛得到了帮助 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();
    }