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

Mule 无法将字符串与另一个变量连接,mule,mule-studio,dataweave,mulesoft,mule-esb,Mule,Mule Studio,Dataweave,Mulesoft,Mule Esb,这是我的密码 %dw 2.0 output application/java var plantDesc = payload.somevalue var str1 = "\"plantDescFull\" = " ++ "\"" ++ plantDesc ++ "\"" --- { testValue : str1 } 我需要输出为 { testValue : ""plantDescFull" = "someValue"" } 我尝试过设置str1的方法,但似乎不起作用。要么我无

这是我的密码

%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)\""
}