如何从 Azure 数据工厂中的 json 对象中提取值

Posted

技术标签:

【中文标题】如何从 Azure 数据工厂中的 json 对象中提取值【英文标题】:How to extract the value from a json object in Azure Data Factory 【发布时间】:2022-01-23 00:43:26 【问题描述】:

我有我的 ADF 管道,设置变量活动的最终输出类似于 name:test, value:1234

这个变量的输入是


    "variableName": "test",
    "value": "test:1234"

设置变量项列中提供的表达式为@item().ColumnName。我的 JSon 文件中的 ColumnName 类似于 "ColumnName":"test:1234"

我怎样才能改变它,以便我只得到 1234。我只对这里的价值感兴趣。

【问题讨论】:

【参考方案1】:

看起来您需要用冒号拆分值,您可以使用 Azure 数据工厂 (ADF) expressions and functions:split 函数将字符串拆分为数组,并使用 last 函数获取数组中的最后一项。在这种情况下,这非常有效:

@last(split(variables('varWorking'), ':'))

示例结果:

更改变量名称以适合您的情况。您还可以使用lastIndexOf 之类的字符串方法来定位冒号,然后从那里获取字符串的其余部分。示例表达式如下所示:

@substring(variables('varWorking'),add(indexof(variables('varWorking'), ':'),1),4)

这有点复杂,但可能适合您,具体取决于要求。

【讨论】:

【参考方案2】:

自从您获得 item 以来,您似乎在迭代器中使用它,但是,我尝试使用简单的 json 查找值

@last(split(activity('Lookup').output.value[0].ColumnName,':'))

【讨论】:

以上是关于如何从 Azure 数据工厂中的 json 对象中提取值的主要内容,如果未能解决你的问题,请参考以下文章

如何从 azure blob 存储中获取 json 数据并使用 azure 数据工厂将其发送到 power apps dataverse

如何使用数据工厂将数据从 Azure Blob 存储增量加载到 Azure SQL 数据库?

在 Azure 数据工厂中使用复制数据活动将 xml 解析为 json 时如何删除转义字符?

Azure 数据工厂数据流不存在 JSON 格式的空值

Azure 数据工厂:如何从数据流转换中的流中获取第一行

Azure数据工厂复制字符串失败