azure 如何将Json的数组作为参数传递给Dataflow?

j5fpnvbx  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(126)

我得到了如下的查找活动的输出。
“value”:[ {“PO_id”:“XXX”、“SO_number”:“YYYY”},{“PO_id”:“AAA”,“SO_number”:“BBBB”} ]
我想将这个查找活动输出作为参数传递给数据流,并将它们转换为表格格式
PO_id,SO_number“XXX”,“YYYY”“AAA”,“BBBB”
数据流参数中没有Json[]类型。我尝试使用string[]参数,但得到错误
'数组元素必须全部为同一类型'。我该如何解决这个问题?

55ooxyrt

55ooxyrt1#

您可以将Json数组作为字符串传递给dataflow参数,然后在dataflow中使用解析转换将它们转换为行和列。

  • 创建string类型的数据流参数。

  • 在管道中,您可以将数据流参数的值作为@activity('Lookup1').output.value传递,而不是将该值作为@string(activity('Lookup1').output.value)传递。
  • 在派生列转换中,添加新列new_col,并将该列的表达式定义为split(replace(replace(replace($parameter1, '[', ''),']',''),'},','}},'),'},')

  • 然后添加一个flatten转换并按列new_col展开。
  • 然后添加解析转换。在解析设置中选择Json作为格式。然后在Json设置中选择single document作为文档表单。在列设置中给予以下表达式
column: new_col
expression:new_col
Output column type:(name as string,dept as string)

[将名称替换为字符串,将dept替换为字符串,并具有所需列及其类型]

通过这种方式,您可以在数据流中传递Json数组并将其解析为行和列数据。

相关问题