JSON转义字符导致ForEach活动提取属性出错,如何提取id属性中的指定值
解决方案
核心逻辑
你需要分三步实现需求:
- 先将带转义的JSON字符串解析为可直接访问属性的结构化JSON对象
- 清理id字段首尾多余的空白字符
- 按路径分隔符
/拆分id值,取最后一段即为目标xxx值
具体动态表达式(基于Azure Data Factory/ Synapse Pipeline 内置函数)
场景1:直接从Web活动输出提取(未进入ForEach时)
假设你的Web活动名称为Web活动名,表达式如下:
@last(split(trim(json(activity('Web活动名').output).id), '/'))
场景2:在ForEach活动内部提取
你需要先将ForEach活动的Items属性设置为@array(json(activity('Web活动名').output)),确保传入ForEach的是结构化对象,之后在ForEach内部使用如下表达式:
@last(split(trim(item().id), '/'))
验证说明
以你给出的id值https://xxx.vault.azure.net/secrets/xxx为例:
trim()处理后得到https://xxx.vault.azure.net/secrets/xxx- 按
/拆分后得到数组:['https:', '', 'xxx.vault.azure.net', 'secrets', 'xxx'] last()函数取数组最后一个元素,结果就是xxx
内容的提问来源于stack exchange,提问作者sac
相关产品推荐
相关产品推荐

