1. 数据处理节点
专属集成平台
  • 快速开始
    • 集成平台概览
  • 身份与用户管理
    • 用户管理
      • 用户与组织架构管理
    • 角色管理
      • 角色管理配置说明
    • 属性管理
      • 属性管理配置说明
      • IDAAS 扩展物理字段使用说明
    • 上游身份数据集成
      • 通讯录身份集成概述
      • 集成连接器配置指南
        • 通讯录集成-泛微
        • 通讯录集成-飞书
        • 通讯录集成-企业微信
        • 通讯录集成-AD
        • 通讯录集成-睿人事
        • 通讯录集成-北森
        • 通讯录集成-SCIM
        • 通讯录集成-用友EHR
        • 通讯录集成-Azure AD
        • 通讯录集成-致远
        • 通讯录集成-LDAP
        • 通讯录集成-数据库
        • 通讯录集成-钉钉
          • 基础说明
          • 钉钉集成连接器如何配置属性映射
      • 通过连接流实现身份集成
        • 在连接流画布中完成身份集成配置
      • 身份集成常见问题
        • 常见问题 & 排错指南
    • 下游身份数据同步
      • 通讯录同步概述
      • 同步连接器配置指南
        • 通讯录同步-企业微信
        • 通讯录同步-AD
        • 通讯录同步-用友U8C
        • 通讯录同步-钉钉
          • 基础说明
          • 如何配置部门职位扩展字段
      • 通过连接流实现身份同步
        • 使用连接流实现身份下游同步
      • 身份同步常见问题
        • 常见问题 & 排错指南
        • 使用代理网关进行身份同步
  • 认证源管理
    • 认证源基础说明
      • 认证源选型说明
      • 认证源管理概述
    • 认证源配置指南
      • 基础协议配置
        • 认证源-CAS协议
        • 认证源-OIDC协议
        • 认证源-OAuth2协议
      • 三方认证源配置手册
        • 认证源-钉钉
        • 认证源-AD
        • 认证源-飞书
        • 认证源-LDAP
        • 认证源-微信
        • 认证源-微信公众号
        • 认证源-Google Workspace
        • 认证源-AD Azure
        • 认证源-美云智数
        • 认证源-企业微信
  • 应用管理
    • 基础说明
      • 应用管理概述
      • 应用创建与配置
    • 应用单点登录
      • 单点登录概述
      • 单点登录配置
      • 单点登出配置
      • 授权范围配置
      • 自定义集成单点登录配置说明
      • 应用密码代填
      • 应用网关
      • 单点登录配置指南
        • 单点登录-OIDC
        • 单点登录-SAML协议
        • 单点登录-OAuth2
        • 单点登录-CAS协议
        • 单点登录-钉钉SSO
        • 单点登录-分贝通
        • 单点登录-用友NCC
        • 单点登录-宜搭
        • 单点登录-泛微OA
        • 单点登录-致远OA
        • 单点登录-金蝶云星空
        • 单点登录-中国电子云邮箱
        • 单点登录-阿里云控制台(RAM)
        • 单点登录-纷享销客应用
        • 单点登录-纷享销客待办
        • 单点登录-Exchange
        • Exchange-双入口配置指南
    • 应用授权管理
      • 应用授权概述
      • 基于组织架构和用户授权
      • 基于角色授权(RBAC)
      • 基于用户属性授权(ABAC)
      • 用户自主申请应用(OA审批授权)权限
    • 应用分发
      • 企业应用分发
      • ABM应用分发
    • 使用应用调用集成平台 OPENAPI
      • M2M接口授权
      • 接口调用权限配置说明
  • 连接中心
    • 产品概述
      • 什么是 AI 连接流
      • AI 连接流的典型使用场景
    • 基础功能
      • 流程运行日志
      • 功能概览
      • 如何创建 AI 工作流
      • 授权凭证管理
      • 错误处理
    • 节点说明
      • 节点基础类型说明
      • 数据处理节点
        • 文本处理节点
        • 数组处理
        • 数据集合节点
      • 文件处理节点
        • 「Base64 转 URL」动作说明
        • 「PPT分页切割」动作说明
      • 应用节点
        • Teambition
        • 金蝶云 K3Cloud
      • 内置节点
        • 子流程调用
        • 缓存处理
        • 分支节点
        • 循环执行
        • MYSQL 触发动作说明
        • 数字签名
        • Webhook触发
        • 缓存列表处理
        • 条件分支
        • FTP
        • 延时节点
        • 模型子节点
        • MCP SERVER 工具
        • 邮件发送
        • 存储子节点
        • 工具子节点
        • HTTP 请求
        • 变量节点
        • 加解密节点
        • 返回变量
      • 运维管理节点
        • 数据校验节点
      • AI节点
        • 构建你的第一个 AI Agent
        • AI 浏览器操作节点
        • AI Agent节点使用指南
        • AI 消息对话节点 & 组件嵌入
  • 审计日志
    • 管理员行为日志
    • 用户变更日志
    • 接口调用日志
    • 用户行为日志
    • 消息发送日志
  • 权限中心
    • 管理员账号管理
    • 管理员角色管理
  • 品牌设置
    • 登录页设置
      • 登录页面配置
      • 登录页CSS自定义页面样式
      • CSS定制页面内容:样式修改指南及故障排除
    • 短信设置
      • 短信模板配置
      • 短信服务使用及签名修改使用指南
      • 短信服务-自定义连接流配置
      • 阿里云短信网关配置指引
    • 邮件设置
      • 邮件模板配置
      • 通过自定义连接流发送邮件
      • SMTP 配置与测试支持文档
    • 企业消息设置
      • 企业消息配置
      • 企业消息(钉钉_飞书)配置
    • 分发页面设置
      • 分发页面设置
  • 平台设置
    • 功能概述
    • 授权管理
    • 代理网关
    • 授权信息
    • 登录策略配置
      • 弱密码检测功能说明
      • 登录流程配置
      • 自动登录功能配置
    • MFA 配置
      • MFA基础配置
      • 使用连接流自定义 MFA 策略
    • 运维日志
      • 运维日志下载
  • 最佳实践
    • AD-LDAP接入指南
    • 第三方平台应用创建指南
      • 钉钉
        • 钉钉全套集成指南
        • 创建钉钉开放平台应用
      • 飞书
        • 飞书全套集成指南
        • 创建飞书开放平台应用
      • 企微
        • 企业微信全套集成指南
        • 创建企业微信开放平台应用
  • 开放接口
    • 鉴权认证
      • 获取access_token(请求体方式)
      • 获取access_token(Basic认证方式)
    • 用户管理
      • 查询用户
      • 创建用户
      • 根据多个条件过滤并查询用户信息
      • 根据用户帐号获取用户信息
      • 修改用户
      • 启用/禁用用户
      • 删除用户
      • 修改用户密码
    • 组织部门
      • 获取组/部门的列表
      • 创建组/部门
      • 根据组/部门ID获取组/部门的信息
      • 修改组/部门
      • 删除组/部门
      • 根据组/部门ID获取下级组/部门信息
      • 过滤部门信息
    • 角色管理
      • 创建角色
      • 获取单个角色详情
      • 修改角色
      • 删除角色
      • 查询角色列表
      • 根据应用ID和用户ID获取角色列表
      • 查看角色所对应的用户列表
      • 给多个用户添加静态角色
      • 删除用户静态角色
      • 获取用户的角色信息
    • 连接中心
      • Webhook启动连接流
    • 事件通知
      • 连接器事件通知
  1. 数据处理节点

数组处理

概述#

数组处理节点,支持12种不同的数组操作类型,包括转换、合并、查询、计算等功能。通过丰富的数组操作能力,可以实现复杂的数据处理、格式转换和分析需求。

功能特性#

12种处理类型:涵盖数组转换、合并、查询、计算等全方位功能
灵活数据处理:支持对象数组、键值对、嵌套结构等复杂数据类型
智能类型转换:自动处理数据类型转换和格式化
性能优化:使用流式处理优化大数据集操作
错误处理:完善的异常捕获和错误信息返回

支持的操作类型#

1. ARRAYTOTEXT - 数组转文本#

将数组元素转换为用指定分隔符连接的字符串。
参数:
input:输入数组
join:分隔符(默认逗号)
输出:连接后的字符串

2. ARRAY_MERGE - 数组合并#

将两个数组按指定位置合并。
参数:
baseArray:基础数组
supplementArray:补充数组
mergePosition:合并位置("start"或"end")
输出:合并后的数组

3. CREATEOBJECTARRAY - 创建对象数组#

从Map数据创建对象数组,每个数组元素为一个对象。
参数:
input:包含多个List的Map
输出:对象数组

4. CREATEKEYVALUE_PAIRS - 创建键值对数组#

将键数组和值数组组合成键值对数组。
参数:
keys:键数组
values:值数组
输出:键值对对象数组

5. TEXTTOARRAY - 文本转数组#

将Map对象转换为数组格式。
参数:
input:输入Map对象
输出:包含keyValue和values的Map

6. GETBYINDEX - 按索引查询#

根据索引获取数组中的元素。
参数:
input:输入数组
index:索引值
输出:指定索引的元素

7. INSERT_ELEMENT - 插入元素#

在数组指定位置插入元素或数组。
参数:
input:输入数组
index:插入位置
element:要插入的元素
输出:插入后的数组

8. NESTED_AGGREGATE - 嵌套聚合#

从嵌套对象数组中提取指定路径的值并聚合。
参数:
input:输入对象数组
aggregatePathMap:路径映射Map
输出:聚合后的字段数组

9. ARRAY_CALCULATE - 数组计算#

对数组进行各种数学计算和判断操作。
支持的计算类型:
sum:求和
count:计数
avg:平均值
max:最大值
min:最小值
contains_string:判断是否包含字符串
contains_number:判断是否包含数字
check_duplicate:检查重复元素
参数:
input:输入数组
calculateExpression:计算类型
targetValue:目标值(用于判断操作)
trueReturnValue:真值返回值
falseReturnValue:假值返回值
输出:计算结果

10. AGGREGATE_DATA - 汇总数据#

将多个数组按索引位置汇总成字符串。
参数:
arrayList:数组列表
join:连接符
输出:汇总后的字符串

11. ARRAY_REPLACE - 数组替换#

对数组中的字符串元素进行批量替换。
参数:
input:输入数组
replaceMap:替换映射Map
输出:替换后的数组

12. ARRAY_CHUNK - 数组切片#

将数组按指定大小分割成多个子数组。
参数:
input:输入数组
chunkSize:每片大小
输出:包含分片数组和元信息的Map

使用方法#

示例1:数组转文本#

{
  "type": "ARRAY_TO_TEXT",
  "input": ["张三", "李四", "王五"],
  "join": ";"
}
输出:"张三;李四;王五"

示例2:数组合并#

{
  "type": "ARRAY_MERGE",
  "baseArray": ["A", "B"],
  "supplementArray": ["C", "D"],
  "mergePosition": "end"
}
输出:{"result": ["A", "B", "C", "D"]}

示例3:创建对象数组#

{
  "type": "CREATE_OBJECT_ARRAY",
  "input": {
    "name": ["张三", "李四"],
    "age": [25, 30],
    "city": ["北京"]
  }
}
输出:
{
  "result": [
    {"name": "张三", "age": 25, "city": "北京"},
    {"name": "李四", "age": 30, "city": null}
  ]
}

示例4:数组求和#

{
  "type": "ARRAY_CALCULATE",
  "input": [1, 2, 3, 4, 5],
  "calculateExpression": "sum"
}
输出:15

示例5:判断包含字符串#

{
  "type": "ARRAY_CALCULATE",
  "input": ["苹果", "香蕉", "橙子"],
  "calculateExpression": "contains_string",
  "targetValue": "香蕉",
  "trueReturnValue": "找到",
  "falseReturnValue": "未找到"
}
输出:"找到"

示例6:数组切片#

{
  "type": "ARRAY_CHUNK",
  "input": [1, 2, 3, 4, 5, 6, 7],
  "chunkSize": 3
}
输出:
{
  "chunked_array": [[1, 2, 3], [4, 5, 6], [7]],
  "total_chunks": 3,
  "original_length": 7,
  "meta": {
    "chunk_size": 3,
    "timestamp": 1703123456789
  }
}

示例7:嵌套聚合#

{
  "type": "NESTED_AGGREGATE",
  "input": [
    {"user": {"name": "张三", "scores": [85, 90]}},
    {"user": {"name": "李四", "scores": [88, 92]}}
  ],
  "aggregatePathMap": {
    "names": "user.name",
    "first_scores": "user.scores[0]"
  }
}
输出:
{
  "names": ["张三", "李四"],
  "first_scores": [85, 88]
}

高级功能#

路径表达式支持#

在嵌套聚合中支持复杂的路径表达式:
点分隔:user.name
数组索引:scores[0]
混合使用:user.scores[1]

批量处理#

结合循环节点处理多组数组数据:
Loop (遍历数据组)
├── ArrayAction (处理每组数组)
└── VarAction (收集处理结果)

条件处理#

根据数组内容进行条件判断:
ArrayAction (数组计算)
├── Condition (检查计算结果)
│   ├── Branch1: 满足条件
│   └── Branch2: 不满足条件

性能优化#

流式处理#

使用Java Stream API处理大数据集
避免创建不必要的中间集合
支持并行流处理

内存管理#

大数组分块处理
及时清理临时变量
避免内存溢出

最佳实践#

1. 选择合适的操作类型#

数组转换:使用ARRAYTOTEXT或CREATEOBJECTARRAY
数据查询:使用GETBYINDEX或ARRAY_CALCULATE
数据重组:使用ARRAYMERGE或ARRAYCHUNK

2. 参数配置优化#

设置合理的chunkSize避免过小分片
使用有意义的join分隔符
验证数组索引范围

3. 错误处理#

检查数组是否为空
验证索引范围
处理类型转换异常

4. 性能监控#

监控数组处理耗时
统计操作成功率
分析内存使用情况

常见问题#

Q: 如何处理嵌套对象数组?#

A: 使用NESTED_AGGREGATE操作类型,通过aggregatePathMap指定要提取的字段路径。路径支持点分隔和数组索引,如"user.name"或"scores[0]"。

Q: 数组计算支持哪些数据类型?#

A: 支持数值类型(int、long、float、double)和字符串。对于非数值类型,会尝试转换为double,转换失败返回0.0。

Q: 如何处理大数组的性能问题?#

A: 使用ARRAY_CHUNK将大数组分割成小块处理,或结合循环节点分批处理。同时注意设置合理的chunkSize,避免内存溢出。

Q: 数组替换只对字符串有效吗?#

A: 是的,ARRAY_REPLACE操作只对数组中的字符串元素进行替换。非字符串元素保持不变。

Q: 如何创建不规则的对象数组?#

A: 使用CREATEOBJECTARRAY时,不同字段的数组长度可以不同。较短的数组会用null填充到最长数组的长度。

Q: 支持多维数组处理吗?#

A: 支持,但需要使用嵌套操作。例如,先使用NESTED_AGGREGATE提取子数组,然后对子数组进行进一步处理。
修改于 2026-05-07 01:44:57
上一页
文本处理节点
下一页
数据集合节点
Built with