You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Azure Data Factory自动转义双引号?

解决Azure Data Factory Lookup活动返回字符串双引号被转义的问题

方法1:修正表达式中的转义符匹配

你之前用的@replace(...)无效,是因为ADF表达式里单个反斜杠是转义字符,要匹配实际输出里的\,必须写两个反斜杠\\。正确的表达式应该是:

@replace(activity('Lookup JSON').output.firstRow.id, '\\', '')

这样就能把所有转义用的反斜杠替换掉,得到原始的带双引号的字符串。

方法2:换个思路,在ADF里拼接字符串(推荐)

没必要在存储过程里拼接带引号的字符串,直接让存储过程返回原始的id列表:

SELECT id FROM your_table WHERE ...

然后在ADF里用表达式完成拼接,完全避免转义问题:

@join(activity('Lookup JSON').output.value, (item)=>concat('"', item.id, '"'), ',')

这个表达式会遍历Lookup返回的所有id,给每个id加上双引号,再用逗号拼接成最终字符串。

方法3:将返回值解析为JSON

如果存储过程返回的格式本身符合JSON数组(比如["1","2","3"]),直接用@json()函数解析成数组,后续操作更灵活,也不用处理转义字符:

@json(activity('Lookup JSON').output.firstRow.id)

内容的提问来源于stack exchange,提问作者nowYouSeeMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:27:06