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

如何在DataWeave中为字符串添加双引号并完成指定格式转换

解决DataWeave中双引号转义问题

问题描述

输入JSON:

{
  "Id": "0065e00000JyZi5AAG",
  "Description": "desc104"
}

预期输出:

{
  ":Id": "{\"S\": payload.Id}",
  ":Description": "{\"S\": payload.Description}"
}

注:预期输出里的双引号在JSON规范中需用反斜杠转义,最终字符串内容实际为{"S": payload.Id},只是在JSON结构中显示为转义后的形式。

修正后的DataWeave代码

方法1:直接转义双引号

在拼接字符串时,用\"对双引号进行转义:

%dw 2.0
output application/json
---
payload mapObject ((value, key) -> 
{
  (":" ++ key as String): "{\"S\": payload." ++ key as String ++ "}"
})

方法2:使用字符串插值(更简洁)

利用DataWeave的字符串插值语法${},简化键名拼接逻辑:

%dw 2.0
output application/json
---
payload mapObject ((value, key) -> 
{
  (":" ++ key as String): "{\"S\": payload.${key}}"
})

关键说明

  • 无需额外定义keysArray变量,直接通过mapObject的key参数即可获取当前键名。
  • JSON结构中的字符串若包含双引号,必须用反斜杠\转义,否则会破坏JSON格式。
  • 两种方法均可生成符合要求的输出,插值方式代码更简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:10:32