---
schema_version: "1"
id: a0c8873e52d13f75261238258fa21adb4216b908124c8676ac4a0e00b595daa1
title: read
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/dataweave/2.12/dw-core-functions-read.md
canonical_url: https://docs.mulesoft.com/dataweave/2.12/dw-core-functions-read
source_site: docs.mulesoft.com
content_type: documentation
content_hash: aef0099e95aa88832131b076316d0577df401b8b1c155b3463144ba500c49299
description: MuleSoft Documentation Site
release: "2.12"
latest: false
---
---
product: DataWeave
version: 2.12
---

# read

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

## read(stringToParse: String | Binary, contentType: String = "application/dw", readerProperties: Object = {}): Any

Reads a string or binary and returns parsed content.

This function can be useful if the reader cannot determine the content type by default.

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>stringToParse</code></p></td><td><p>The string or binary to read.</p></td></tr><tr><td><p><code>contentType</code></p></td><td><p>A supported format (or content type). Default: <code>application/dw</code>.</p></td></tr><tr><td><p><code>readerProperties</code></p></td><td><p>Optional: Sets reader configuration properties. For other formats and reader configuration properties, see <a href="https://docs.mulesoft.com/dataweave/latest/dataweave-formats">Supported Data Formats</a>.</p></td></tr></tbody></table>

### Example

This example reads a JSON object `{ "hello" : "world" }'`, and it uses the `"application/json"`
argument to indicate _input_ content type. By contrast, the `output application/xml` directive in
the header of the script tells the script to transform the JSON content into XML output. Notice that
the XML output uses `hello` as the root XML element and `world` as the value of that element. The
`hello` in the XML corresponds to the key `"hello"` in the JSON object, and `world` corresponds to
the JSON value `"world"`.

#### Source

```dw
%dw 2.0
output application/xml
---
read('{ "hello" : "world" }','application/json')
```

#### Output

```JSON
<?xml version='1.0' encoding='UTF-8'?><hello>world</hello>
```

### Example

This example reads a string as a CSV format without a header and transforms it to JSON. Notice that
it adds column names as keys to the output object. Also, it appends `[0]` to the function call here
to select the first index of the resulting array, which avoids producing the results within an array
(with square brackets surrounding the entire output object).

#### Source

```DataWeave
%dw 2.0
var myVar = "Some, Body"
output application/json
---
read(myVar,"application/csv",{header:false})[0]
```

#### Output

```JSON
{ "column_0": "Some", "column_1": " Body" }
```

### Example

This example reads the specified XML and shows the syntax for a reader property, in this case,
`{ indexedReader: "false" }`.

#### Source

```DataWeave
%dw 2.0
output application/xml
---
{
   "XML" : read("<prices><basic>9.99</basic></prices>",
                "application/xml",
                { indexedReader: "false" })."prices"
}
```

#### Output

```XML
<?xml version='1.0' encoding='UTF-8'?>
<XML>
  <basic>9.99</basic>
</XML>
```
