Duaer

代码片段

在 Duaer 里把数组拆成多条数据

Duaer 节点按条处理数据。订单里的商品列表、接口返回的数组,要先用 Split Out 拆成一条一项,后面的节点才会逐项处理。

用 Split Out 拆数组

  1. 在数组所在节点后面接 Split Out。
  2. Fields To Split Out 填数组字段名,例如 line_items;嵌套的写 data.items。
  3. Include 选要不要带上原来的其它字段:No Other Fields、All Other Fields,或 Selected Other Fields 只带几个,例如订单号。
  4. 点执行此步骤。数组有几项,就输出几条。

字段是 a,b,c 这样的文字时,先用 Edit Fields 把它变成数组:{{ $json.tags.split(",") }},类型选 Array,再拆。

用 Code 拆,并带上上级字段

要同时改字段名或带上上级信息时,用 Code(Run Once for All Items):

return $input.all().flatMap((item) =>
  item.json.line_items.map((line) => ({
    json: { order: item.json.name, ...line },
  })),
);

反过来:多条合成一个数组

要把多条数据合回一个数组或一段文字,用 Aggregate,或在 Summarize 里选 Append、Concatenate。

常见问题

Duaer 拆完数组后,怎么知道每一项属于哪个订单?

在 Duaer Split Out 的 Include 里选 Selected Other Fields,带上订单号;或用本页的 Code 写法把上级字段并进去。

Duaer 里拆完再合回去用哪个节点?

用 Duaer 的 Aggregate 节点,或 Summarize 的 Append、Concatenate。

同组