如何在 Camunda BPM 中使用(内联)JavaScript 解析 JSON

How to parse JSON using (Inline) JavaScript in Camunda BPM

我试图从 statusAprovacao 中获取值,即 "Pre aprovado",但是当我使用脚本 var list = json.prop("statusAprovacao"); 时,结果为空。使用 JavaScript 查询此值的正确方法是什么?

我试过的脚本:

var json = S(response);
var list = json.prop("statusAprovacao");

结果:

SPIN/JACKSON-JSON-01004 Unable to find 'statusAprovacao'/

Json 脚本:

[{"statusAprovacao":{"type":"String","value":"Pre aprovado","valueInfo":{}},"analisar":{"type":"Boolean","value":true,"valueInfo":{}}}]

你为什么不试试:

    var list = json.Parse("type":"String","value":"Pre aprovado","valueInfo":{});

然后你用

得到值
    list.value

对于元素你应该调用elements()方法来获取数组对象。

试试这个。

var json = S(response);
var list = json.elements().get(0).prop("statusAprovacao")

Camunda Spin 是 Camunda 为 JSON(和 XML)处理提供的 Jackson 包装器。虽然我发现它对在 Java 中处理 JSON 非常有帮助,但我更喜欢在 JavaScript 中本地处理 JSON(在这种情况下在 Nashorn 中)。你的旅费可能会改变。 :) 这是一个示例,说明如何在 Nashorn 中本地处理 JSON,假设 response 被字符​​串化 JSON:

var responseObj = JSON.parse(response);
var statusAprovacao = responseObj.statusAprovacao;

希望对您有所帮助!