【发布时间】:2015-10-05 06:56:33
【问题描述】:
考虑有一个这样的过程变量:
Object type name: java.util.ArrayList
Serialization Data Format: application/x-java-serialized-object
Value: [{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"]
我正在尝试在 Script-Task 中编写一个 Javascript,该 Javascript 可以像上面一样提取一个变量并使用它。这是我已经走了多远:
var arr = execution.getVariableTyped("arr", true);
for (var i=0; arr.size(); i++) {
var item = arr.get(i);
//Do somthing with `item`
}
//Add an object to the end of the array
arr.add({ "id": 3, "name": "Jack" });
execution.setVariable("arr", arr);
但是当我运行它时,它会抛出以下错误:
无法完成任务 xxx:无法评估脚本:TypeError: ObjectValue [value=[{"id": 1, "name": "John"}, {"id": 2, "name": "简"]], isDeserialized=true, serializationDataFormat=application/x-java-serialized-object, objectTypeName=java.util.ArrayList, serializedValue=X chars] 没有
中的此类函数“大小”
如果ArrayList's reference 说它有size 和add 两者!怎么回事?
【问题讨论】:
标签: javascript java camunda script-task