解构节点
概述
解构节点用于一次性从对象或数组中提取多个值。它使用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: 如果输入对象中不存在某个路径,则对应的输出端口将不会运行。