产品定价 立即试用
社区版
入门 文档 指南 安装 架构 API 常见问题

split array msg

将data为JSON数组的消息拆分为多条独立消息,为数组中每个元素生成一条新消息。

配置

该节点无可配置选项。

JSON Schema

1
2
3
4
5
6
7
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "EmptyNodeConfiguration",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

消息处理逻辑

  1. 节点检查入站消息的data,确认其为JSON数组。
  2. 若data不是JSON数组,处理失败,原始消息经 Failure 链路由。
  3. 若data为JSON数组,节点按以下方式处理:
    • 若数组为空,仅确认原始消息,不生成新消息。
    • 若数组包含一个或多个元素,为每个元素创建一条新消息。
  4. 每条新消息以数组元素作为其data。来源实体、消息类型和metadata均从原始入站消息复制。
  5. 所有新消息经 Success 链发送。所有拆分消息成功入队后确认原始消息。

输出连接

  • Success
    • 新消息(源数组中每个元素一条)经此链发送。
  • Failure
    • 入站消息data不是JSON数组时。

示例

示例1 — 拆分对象数组

入站消息

Data:

1
2
3
4
[
  {"sensor": "A", "temperature": 22.5},
  {"sensor": "B", "temperature": 23.1}
]

出站消息

Success 链创建并发送两条新消息:

  1. Message 1:
    • Data: {"sensor": "A", "temperature": 22.5}
  2. Message 2:
    • Data: {"sensor": "B", "temperature": 23.1}

说明:包含两个对象的原始消息被拆分为两条独立消息。每条新消息的data为原始数组中的一个对象。


示例2 — 输入为空数组

入站消息

Data: []

出站消息

不生成新消息。原始消息被确认。

说明:入站消息data为空数组。节点成功处理,仅确认不产生任何输出消息。


示例3 — 输入不是数组

入站消息

Data: {"status": "error", "code": 500}

出站消息

原始消息经 Failure 链路由。不生成新消息。

说明:入站消息data为JSON对象而非数组。节点无法处理,故失败。