Contact Us 1-800-596-4880

write

write(Any, String, Object): String | Binary

Writes a value as a string or binary in a supported format.

Returns a string or binary with the serialized representation of the value in the specified format (MIME type). This function can write to a different format than the input. Note that the data must validate in that new format, or an error will occur. For example, application/xml content is not valid within an application/json format, but text/plain can be valid.

Parameters

Name Description

value

The value to write. The value can be of any supported data type.

contentType

A supported format (or MIME type) to write. Default: application/dw.

writerProperties

Optional: Sets writer configuration properties. For writer configuration properties (and other supported MIME types), see Supported Data Formats.

Example

This example writes the string world in plain text (text/plain"). It outputs that string as the value of a JSON object with the key hello.

Source

%dw 2.0
output application/json
---
{ hello : write("world", "text/plain") }

Output

{ "hello": "world" }

Example

This example takes JSON input and writes the payload to a CSV format that uses a pipe (|) separator and includes the header (matching keys in the JSON objects). Note that if you instead use "header":false in your script, the output will lack the Name|Email|Id|Title header in the output.

Source

%dw 2.0
output application/xml
---
{ "output" : write(payload, "application/csv", {"header":true, "separator" : "|"}) }

Input

[
  {
    "Name": "Mr White",
    "Email": "white@mulesoft.com",
    "Id": "1234",
    "Title": "Chief Java Prophet"
  },
  {
    "Name": "Mr Orange",
    "Email": "orange@mulesoft.com",
    "Id": "4567",
    "Title": "Integration Ninja"
  }
]

Output

<?xml version="1.0" encoding="US-ASCII"?>
<output>Name|Email|Id|Title
Mr White|white@mulesoft.com|1234|Chief Java Prophet
Mr Orange|orange@mulesoft.com|4567|Integration Ninja
</output>