无法将字符串与另一个变量连接

Unable to concatenate a string with another variable

这是我的代码。

%dw 2.0
output application/java
var plantDesc = payload.somevalue
var str1 = "\"plantDescFull\" = " ++ "\"" ++ plantDesc ++ "\""
---
{
   testValue : str1
}

我需要输出为

{
   testValue : ""plantDescFull" = "someValue""
}

我已经尝试过设置 str1 的方法,但似乎不起作用。要么我无法转义引号,要么无法将 plantDesc 变量的值放入 str1

感谢所有帮助

我认为如果你用单引号定义它会有效:

var str1 = '"plantDescFull" = "' ++ plantDesc ++ '"'

我能够解决问题。

实际问题是另外一回事。我不得不重写我的代码。

基本上payload.somevalue是一个对象。所以我所做的是完全错误的。我们不能连接字符串和对象。

你不能在字符串中使用双引号而不对它们进行转义。字符串插值始终是一种良好而干净的方法

%dw 2.0
output application/java
var plantDesc = payload.somevalue default ''
---
{
   testValue : "'plantDescFull' = '$(plantDesc)'"
}

如果您必须使用双引号,您可以使用类似的方式转义它们:

%dw 2.0
output application/json
var plantDesc = payload.somevalue default ''
---
{
   testValue : "\"plantDescFull\" = \"$(plantDesc)\""
}