将data为JSON数组的消息拆分为多条独立消息,为数组中每个元素生成一条新消息。
配置
该节点无可配置选项。
JSON Schema
消息处理逻辑
- 节点检查入站消息的data,确认其为JSON数组。
- 若data不是JSON数组,处理失败,原始消息经
Failure链路由。 - 若data为JSON数组,节点按以下方式处理:
- 若数组为空,仅确认原始消息,不生成新消息。
- 若数组包含一个或多个元素,为每个元素创建一条新消息。
- 每条新消息以数组元素作为其data。来源实体、消息类型和metadata均从原始入站消息复制。
- 所有新消息经
Success链发送。所有拆分消息成功入队后确认原始消息。
输出连接
Success:- 新消息(源数组中每个元素一条)经此链发送。
Failure:- 入站消息data不是JSON数组时。
示例
示例1 — 拆分对象数组
入站消息
Data:
1
2
3
4
[
{"sensor": "A", "temperature": 22.5},
{"sensor": "B", "temperature": 23.1}
]
出站消息
经 Success 链创建并发送两条新消息:
- Message 1:
- Data:
{"sensor": "A", "temperature": 22.5}
- Data:
- Message 2:
- Data:
{"sensor": "B", "temperature": 23.1}
- Data:
说明:包含两个对象的原始消息被拆分为两条独立消息。每条新消息的data为原始数组中的一个对象。
示例2 — 输入为空数组
入站消息
Data: []
出站消息
不生成新消息。原始消息被确认。
说明:入站消息data为空数组。节点成功处理,仅确认不产生任何输出消息。
示例3 — 输入不是数组
入站消息
Data: {"status": "error", "code": 500}
出站消息
原始消息经 Failure 链路由。不生成新消息。
说明:入站消息data为JSON对象而非数组。节点无法处理,故失败。