在Node-RED中转换JSON

时间:2019-06-26 09:02:36

标签: json node-red

我有一个类似JSON的

{"ab":12,"cd":23,"ef":34,"gh":"xyz"}

我想将其转换为:

[
{"key":"ab","value":12},
{"key":"cd","value":23},
{"key":"ef","value":34},
{"key":"gh","value":"xyz"}
]

如何在Node-RED中实现这一目标?

1 个答案:

答案 0 :(得分:2)

假设您在execute()中具有该JSON对象,则可以添加一个executionId节点,对其进行配置以设置msg.payload并从中的类型列表中选择Change “收件人”字段。然后将msg.payload的值设置为:

expression

这是JSONata表达式。 $each函数将对对象(to)中的每个键/值对调用提供的函数。提供的函数将键($each($.payload,function($v, $k) {{"key":$k,"value": $v}}) )和值($.payload)映射为所需格式。

注意-如果您要映射的对象不在$k下,则需要更改$v位以指向所需的属性。