示例
我们有一条包含多组熔炉读数的消息,需要将其拆分为多条独立的消息,以便进行后续处理。
{
"furnace": {
"temp": 86,
"humidity": 64,
"pressure": 80
}
}
需使用的节点
本示例中,我们使用 split 节点将一条消息拆分为多条更小的消息。
| 参数(Parameter) | 说明(Description) |
|---|---|
| 名称(Name) | 节点的可选标签,用于在流程中标识该节点。 |
| 拆分对象(Split the) | 要拆分的消息属性,通常为 msg.payload,也可以是其他属性(如 msg.payload.data)。 |
| 字符串/二进制缓存 - 拆分方式(String / Buffer - Split using) | 针对字符串或二进制缓存类型的负载,指定拆分方式: • 字符串(string):使用特定字符串或正则表达式模式拆分消息。 • 二进制缓存(buffer):按设定的块大小拆分消息。 • 固定长度(Fixed length of):按设定的长度拆分字符串。 • 留空则不拆分字符串。 |
| 作为消息流处理(Handle as a stream of messages) | 勾选后,节点会将传入数据视为连续流,数据到达时立即发送拆分后的消息,而非等待完整负载接收完毕。 |
| 数组 - 拆分方式(Array - Split using) | 固定长度 N(Fixed length of N):将数组拆分为多条消息,每条消息包含 N 个元素。 |
| 对象 - 为每个键值对发送一条消息(Object - Send a message for each key/value pair) | 每个键值对的值将作为拆分后消息的负载(payload)返回。 |
将键复制到 msg.payload(Copy key to msg.payload) | 勾选后,原始键名会作为拆分后消息的 msg.payload 返回。 |
如何拆分消息?
- 在 事件流程 中拖拽一个
inject节点,再通过一个function节点传递目标对象数据。
- 按顺序将其连接到 2 个
split节点,并为两个节点配置一样的「对象(Object)」属性.
- 将
split节点与debug节点连接,查看每条拆分后的输出消息。
