解构节点

概述
解构节点用于一次性从对象或数组中提取多个值。它使用JSONPath表示法来遍历输入值并提取指定路径上的值。该节点类似于Extract Object Path Node,但它允许您指定多个路径并一次性提取多个值,这比使用多个Extract Object Path节点更方便。
- 输入
- 输出
- 编辑器设置
输入项
| 标题 | 数据类型 | 描述 | 默认值 | 备注 |
|---|---|---|---|---|
| Object | object | The object to extract values from. | (required) |
输出
| 标题 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| (JSONPath) | any | The value extracted from the object at the corresponding path. | If the value is not found, this port is not ran. The number of outputs is dynamic based on the number of paths specified in the settings. |
编辑器设置
| 设置 | 描述 | 默认值 | 使用输入切换 | 输入数据类型 |
|---|---|---|---|---|
| Paths | One or more JSONPath expressions. Each expression will correspond to an output port of the node. | ['$.value'] | No | string[] |
示例1:从对象中提取多个属性
创建一个Object Node并将值设置为以下内容:
{
"name": "John Doe",
"age": 30,
"job": "Engineer"
}创建一个解构节点,并将路径设置为
$.name、$.age和$.job。将对象节点连接到解构节点的
Object输入端口。运行图表。解构节点应有三个输出:
$.name值为John Doe,$.age值为30,以及$.job值为Engineer。

错误处理
如果输入对象中的路径无效或不存在,则相应的输出端口将不会运行。
常见问题
问:Destructure节点与Extract Object Path节点有何不同?
A: 解构节点类似于提取对象路径节点,但它允许您指定多个路径并一次性提取多个值。这比使用多个提取对象路径节点来提取多个路径更为方便。解构节点不允许您指定一个路径并提取该路径下的所有值,而这在提取对象路径节点中是可行的。
问:我可以使用解构节点来提取数组值吗?
答:是的,您可以使用解构节点提取数组值,但仅限于已知长度的情况。您可以使用诸如$[0]、$[1]等路径来提取数组中的值。但是,您不能使用$[*]或$[?]等路径来提取数组中的所有值。
问:如果输入对象中不存在某个路径会怎样?
A: 如果输入对象中不存在某个路径,则对应的输出端口将不会运行。