Невозможно объединить строку с другой переменной - PullRequest
1 голос
/ 21 апреля 2020

Это мой код.

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

Мне нужно, чтобы вывод был

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

Я пытался установить str1, но, похоже, не работает. Либо я не могу выйти из кавычек, либо не могу поместить значение переменной plantDes c в str1

Вся помощь приветствуется

Ответы [ 3 ]

2 голосов
/ 21 апреля 2020

Я думаю, что это работает, если вы определите его в одинарных кавычках:

var str1 = '"plantDescFull" = "' ++ plantDesc ++ '"'
0 голосов
/ 21 апреля 2020

Вы не можете иметь двойные кавычки внутри строки без их экранирования. Строковая интерполяция - это всегда хороший и чистый подход

%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)\""
}
0 голосов
/ 21 апреля 2020

Мне удалось решить проблему.

Фактическая проблема была в другом. Мне пришлось переделать мой код.

По сути, payload.somevalue - это объект. То, что я делал, было совершенно неправильно. Мы не можем объединить строку и объект.

...