脚本中Spin函数的使用

Uncategorized
1.4k words

脚本中Spin函数的使用

引言

  • 文档目的
    在Camunda中使用脚本任务处理来自外部系统的JSON字符串,可以通过脚本任务中的脚本代码来解析和处理这些数据然后以JSON类型的数据存储在流程中

功能或技巧概述

  • 功能或技巧简介
  • 适用场景
    • 在流程中处理json 字符串保存到流程变量中

具体实现

1. 读取Json

1
2
3
4
5
6
//将json 字符串读取为json对象
var json = S('{"customer": "Kermit"}');
//获取 key 为 customer 的键值对
var customerProperty = json.prop("customer");
//获取 key 为 customer 的值
var customerName = customerProperty.value();

2. 操作 json array

1
2
3
4
5
var json = S('{"customer": ["Kermit", "Waldo"]}');
var customerProperty = json.prop("customer");
var customers = customerProperty.elements();
var customer = customers.get(0)
var customerName = customer.value();

3. 向json中添加数据

1
2
3
4
5
6
var json = S('{"customer": ["Kermit", "Waldo"]}');
var object = {
"new_entry": 1,
"new_entry2": "Yeah!"
};
json.prop("new_array", object);
1
2
3
var json = S('{"customer": ["Kermit", "Waldo"]}');
var list = ["new entry", "new entry2"];
json.prop("new_array", list);

4. 从Json中移除

1
2
3
4
5
6
7
8
var json = S('{"customer": ["Kermit", "Waldo"], "language": "en"}');
var list = ["customer", "en"];

// removes only the customer property
json.deleteProp("customer");

// removes customer and language
json.deleteProp(list);