To define a string value in DataWeave we can use both double quotes or single quotes. To define a multi line string we simply define a string value over multiple lines. We don't have to do any strange concatenation, but simply define the value over multiple lines. DataWeave will add an end-of-line character automatically after each line.
In the following example we use different ways to defined single and multi line strings:
Source
%dw 2.0
import lines from dw::core::Strings
output application/json
---
{
doubleQuotes: "String value defined using double quotes",
singleQuotes: 'String value defined using single quotes',
// Multi line strings can be defined as well.
multiLineDoubleQuotes: "This is a multi line
string value
with double quotes",
multiLineSingleQuotes: 'This is a multi line
string value with
single quotes',
// We can use the lines function to transform
// each line into an element in an array.
multiLines: lines("Multiline
string transformed
to array of strings")
}
Output
{
"doubleQuotes": "String value defined using double quotes",
"singleQuotes": "String value defined using single quotes",
"multiLineDoubleQuotes": "This is a multi line\nstring value\nwith double quotes",
"multiLineSingleQuotes": "This is a multi line\nstring value with \nsingle quotes",
"multiLines": [
"Multiline",
"string transformed",
"to array of strings"
]
}
Written with DataWeave 2.4.