如何将Node-RED返回的[{}]格式结果转换为{}格式?
Node-RED 数组转单个对象解决方案
方法一:使用 Change 节点
- 操作步骤:
- 将 Change 节点添加到你的流程中
- 设置规则类型为
Set,目标选择msg.payload - 值类型选择
JSONata expression,输入表达式$payload[0] - 部署流程后,当输入为
[{}]格式的msg.payload时,会自动提取数组第一个元素转为单个对象格式
方法二:使用 Function 节点
- 直接用代码处理:
// 校验输入是否为非空数组 if (Array.isArray(msg.payload) && msg.payload.length > 0) { msg.payload = msg.payload[0]; } return msg;
- 补充说明:如果数组为空,代码会保留原空数组;如果需要提取数组内其他位置的对象,修改索引值即可(比如取第二个元素就写
msg.payload[1])
注意事项
- 若数组包含多个对象,上述方法仅提取第一个,需按需调整索引
- 对输入格式不确定时,建议在 Function 节点中增加异常判断,避免流程报错
内容的提问来源于stack exchange,提问作者said sabri
相关产品推荐
相关产品推荐

