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

求助:ADF Concat函数重转义双引号致Web活动JSON构建失败

解决Concat拼接JSON字符串时双引号重复转义的问题

问题场景

你有一个存储JSON数组的字符串变量Array Values,内容为:

[ { "name": "gary" }, { "name": "frank" } ]

当使用@concat('{ "value": ', variables('Array Values'), '}')将变量拼接到JSON结构中时,变量内的所有双引号会被重复转义,最终生成的内容是:

{ "value": [ { \"name\": \"gary\" }, { \"name\": \"frank\" } ] }

这种格式不符合合法JSON规范,直接导致后续Web活动无法正常运行。即便用@string(json(concat(...)))处理也无效——因为Concat执行时已经完成了错误的转义操作。

解决方案

不要用字符串拼接的方式构建JSON,改用直接构建JSON对象再转字符串的方式,从根源避免转义问题:

方法1:使用createObject函数

@string(json(createObject('value', json(variables('Array Values')))))

步骤拆解:

  1. json(variables('Array Values')):把字符串变量解析成JSON数组对象;
  2. createObject('value', ...):创建包含该数组的JSON对象;
  3. json()+string():确保对象格式合法,最终转成标准JSON字符串。

方法2:直接使用对象字面量(更简洁)

@string({
    "value": json(variables('Array Values'))
})

这种写法直接构建JSON结构,生成的字符串不会有多余转义,完全符合Web活动的JSON格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 09:24:58