---
schema_version: "1"
id: b41f42325517d2fc8409d58abe1b0617beef8cf1c36eeaf75fb1064a69d317d6
title: サポートされるデータ形式
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.6/dataweave-formats.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats
source_site: docs.mulesoft.com
content_type: documentation
content_hash: ef0e0bb345418c98be4f98c16617856c8156ab60b309df8dc74e3bc5d0f74ddc
description: MuleSoft Documentation Site
release: "2.6"
latest: false
---
# サポートされるデータ形式

DataWeave では、JSON、XML など、多くの種別のデータ形式を読み書きできます。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 のドキュメント](#1.2@dataweave::index.adoc)​を参照してください。 他の Mule バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

DataWeave では、次の形式が入力および出力としてサポートされています。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">MIME タイプ</th>
<th class="tableblock halign-left valign-top">ID</th>
<th class="tableblock halign-left valign-top">サポートされる形式</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/avro</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>avro</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-avro" class="xref page">Avro 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/csv</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>csv</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-csv" class="xref page">CSV 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/dw</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>dw</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 式をテストするための ​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-dw" class="xref page">DataWeave 形式 (dw)</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/flatfile</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>flatfile</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-flatfile" class="xref page">フラットファイル形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-copybook" class="xref page">COBOL コピーブック形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-fixedwidth" class="xref page">固定幅形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>java</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-java" class="xref page">Java 形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-java#format_enum" class="xref page">Java の Enum 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>json</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-json" class="xref page">JSON 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/octet-stream</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>binary</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-binary" class="xref page">バイナリ形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/protobuf</code>​、​<code>application/x-protobuf</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>protobuf</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-protobuf" class="xref page">Protobuf 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/xlsx</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>excel</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-excel" class="xref page">Excel 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/xml</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>xml</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-xml" class="xref page">XML 形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-xml#format_xml_cdata" class="xref page">CData カスタム型</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/x-ndjson</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>ndjson</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-ndjson" class="xref page">改行区切りの JSON 形式 (ndjson)</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/x-www-form-urlencoded</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>urlencoded</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-urlencoded" class="xref page">URL エンコード形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/yaml</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>yaml</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-yaml" class="xref page">YAML 形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>multipart/form-data</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>multipart</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-multipart" class="xref page">マルチパート形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>text/plain</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>text</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-text" class="xref page">テキスト/プレーン形式</a>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>text/x-java-properties</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>properties</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-formats-properties" class="xref page">テキスト Java プロパティ</a></p></td>
</tr>
</tbody>
</table>

## [](#dw_readers_writers)DataWeave リーダー

DataWeave は、メモリに読み込むか、ローカルストレージでインデックス付けすることで入力データ全体を読み取ることができます。データ形式によっては、入力をストリーミングし、データを分割して順次読み取ることもできます。インデックス付き読み取り戦略では、大きなファイルを処理するときのメモリ不足の問題を回避するメカニズムを実装します。ストリーミング戦略ではパフォーマンスを改善できますが、読み取られてメモリに保存されているファイルの部分にしかアクセスできないため、ファイルアクセスは順次アクセスに限られます (ランダムアクセスは許可されません)。

<table id="streaming" class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">読み取り戦略</th>
<th class="tableblock halign-left valign-top">説明</th>
<th class="tableblock halign-left valign-top">サポートされる形式</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-middle"><div class="content"><div class="paragraph">
<p>メモリ内</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この戦略ではドキュメント全体を解析してメモリに読み込み、データへのランダムアクセスを可能にします。この戦略を使用すると、DataWeave スクリプトで結果値の任意の部分にいつでもアクセスできます。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この戦略ではサポートされるすべての形式を読み取ることができます。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-middle"><div class="content"><div class="paragraph">
<p>インデックス付き</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この戦略ではドキュメント全体を解析し、ディスクスペースを使用して大きなファイルのメモリ不足の問題を回避して、データへのランダムアクセスを可能にします。この戦略を使用すると、DataWeave スクリプトで結果値の任意の部分にいつでもアクセスできます。</p>
</div>
<div class="paragraph">
<p>サイズが 1.5 MB を超える ​<code>String</code>​ を処理する場合、DataWeave は自動的に値を複数のチャンクに分割してメモリ不足の問題を回避します。この機能は ​<code>JSON</code>​ および ​<code>XML</code>​ 入力データでのみ機能します。</p>
</div>
<div class="paragraph">
<p>詳細は、​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-indexed-readers" class="xref page">「DataWeave のインデックス付きリーダー」</a>​を参照してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="ulist">
<ul>
<li>
<p><code>CSV</code>​</p>
</li>
<li>
<p><code>JSON</code>​</p>
</li>
<li>
<p><code>XML</code>​</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-middle"><div class="content"><div class="paragraph">
<p>ストリーミング</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>この戦略では、入力ドキュメントを小さな項目に分割し、データに順次アクセスして、現在の項目をメモリ内に保存します。DataWeave セレクターは、読み取られているファイルの部分にのみアクセスできます。</p>
</div>
<div class="paragraph">
<p>詳細は、​<a href="https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-streaming" class="xref page">「DataWeave のストリーミング」</a>​を参照してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="ulist">
<ul>
<li>
<p><code>CSV</code>​</p>
</li>
<li>
<p><code>JSON</code>​</p>
</li>
<li>
<p><code>Excel</code>​ (XLSX)</p>
</li>
<li>
<p><code>XML</code></p>
</li>
</ul>
</div></div></td>
</tr>
</tbody>
</table>

## [](#reader_writer_properties)リーダーとライターのプロパティの使用

場合によって、形式固有のプロパティを使用して、形式の各側面を変更または指定することが必要になることがあります。たとえば、​`separator`​ (または区切り文字) など、CSV ファイルで使用する、CSV の入力および出力プロパティを指定できます。 Cobol コピーブックでは、​`schemaPath`​ プロパティを使用して、スキーマファイルへのパスを指定する必要があります。

Mule アプリケーション内の特定のコンポーネントの MIME タイプ (​`outputMimeType`​) 属性にリーダープロパティを追加できます。Listeners および Read 操作ではこの設定が受け入れられます。たとえば、この新規ファイルリスナーの例では、CSV 入力ファイルの ​`,`​ 区切り文字を識別します。

例: CSV リーダーのプロパティ

```xml
<file:listener doc:name="On New File" config-ref="File_Config" outputMimeType='application/csv; separator=","'>
  <scheduling-strategy >
    <fixed-frequency frequency="45" timeUnit="SECONDS"/>
  </scheduling-strategy>
  <file:matcher filenamePattern="comma_separated.csv" />
</file:listener>
```

上記の ​`outputMimeType`​ 設定は、ライターではなく CSV ​_リーダー_​が ​`comma_separated.csv`​ 入力ファイルの形式と区切り文字を解釈するのに役立ちます。

出力形式を指定するには、File Write 操作で使用する CSV または JSON ライターなど、ライターの MIME タイプと任意のライタープロパティを提供できます。たとえば、CSV 出力のペイロードで、入力で使用する他の区切り文字ではなくパイプ (​`|`​) 区切り文字を記述しなければならない場合があります。これを行うには、プロパティとその値を DataWeave 式の ​`output`​ ディレクティブに追加します。たとえば、次の Write 操作ではパイプを ​`separator`​ として指定しています。

例: CSV ライターの出力ディレクティブ

```xml
<file:write doc:name="Write" config-ref="File_Config" path="my_transform">
  <file:content ><![CDATA[#[output application/csv separator="|" --- payload]]]></file:content>
</file:write>
```

次の例は、​`output`​ ディレクティブで 2 つのライタープロパティを指定する DataWeave スクリプトを示しています。1 つは CSV 項目の区切り文字用で、もう 1 つはヘッダーがないことを示します。

```json
%dw 2.0
output application/csv separator=";", header=false
---
payload
```

ライタープロパティは形式によって異なります。次の例では、JSON ライタープロパティ ​`skipNullOn`​ を使用します。

```json
%dw 2.0
output application/json skipNullOn="everywhere"
---
payload
```

次の例では、DataWeave スクリプトが非表示の ASCII 文字を CSV 出力の区切り文字として使用しています。区切り文字のプロパティ値は ​`\u001E`​ です。​`\u`​ はエスケープシーケンス表現で、​`001E`​ はレコード区切り文字 (RS) である ASCII 文字の 16 進表現です。

```DataWeave
%dw 2.0
output application/csv separator = "\u001E"
---
[
	{
		"Name" : "Tom",
		"UID" : 2569,
		"ShipOrderID" : "ui-288188"
	},
	{
		"Name" : "Alan",
		"UID" : 7756,
		"ShipOrderID" : "xj-232142"
	},
	{
		"Name" : "Dan",
		"UID" : 7821,
		"ShipOrderID" : "uk-259459"
	}
]
```

この CSV の例では次の出力が生成されます。

```csv
NameUIDShipOrderID
Tom2569ui-288188
Alan7756xj-232142
Dan7821uk-259459
```

`read`​ または ​`readUrl`​ メソッドを使用するスクリプトでは、​`readerProperties`​ パラメーターを介してリーダープロパティを指定することもできます。​[「read」](https://docs.mulesoft.com/jp/dataweave/2.6/dw-core-functions-read)​の例を参照してください。ただし、​[CSV リーダーの例](#example_csv_reader)​に示されるように、リーダープロパティは HTTP リスナーなどのメッセージソースでより一般的に使用されます。

Mule 変数を設定プロパティの値として使用することもできます。他の完全な例は、​[「リーダーとライターの設定プロパティの設定」](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-set-reader-writer-props)​を参照してください。

## [](#set_mime_types)MIME タイプの設定

Mule アプリケーションを流れる入力および出力データで MIME タイプを指定できます。

DataWeave 変換の場合、出力データで MIME タイプを指定できます。 たとえば、Transform Message コンポーネントまたは Write 操作内の式の ​`output`​ ヘッダーディレクティブを ​`output application/json`​ または ​`output application/csv`​ に設定できます。

この例では、File Write 操作を使用して MIME タイプを設定し、形式固有のライター (CSV ライター) がペイロードを CSV 形式で出力するようにします。

例: CSV ライターの MIME タイプ

```xml
<file:write doc:name="Write" config-ref="File_Config" path="my_transform">
  <file:content ><![CDATA[#[output application/csv --- payload]]]></file:content>
</file:write>
```

Mule 4.3.0 以降、MIME タイプの代わりに形式 ID のみを使用して ​`output`​ ディレクティブを設定できます。たとえば、Transform Message コンポーネントまたは Write 操作内の式の ​`output`​ ヘッダーディレクティブを ​`output json`​ または ​`output csv`​ に設定できます。また、形式 ID を使用して、出力ヘッダーで出力データの形式と MIME タイプを区別したり、カスタム MIME タイプを使用したりできます。 たとえば、DataWeave ディレクティブ ​`output application/problem+json with json`​ を使用して、JSON データを書き込むことはできますが、MIME タイプを ​`application/problem+json`​ にカスタマイズすることはできません。 スクリプトの MIME タイプ出力をカスタマイズする例については、​[「スクリプトの MIME タイプ出力の変更」](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-change-script-output-mime)​を参照してください。

`with`​ キーワードは、出力 MIME タイプをスクリプトの出力の DataWeave ライターから分離します。たとえば、​`binary`​ ライターを使用する場合、「output application/csv with binary」を指定して、​`application/csv`​ MIME タイプを出力します。この設定は、​[動的ライタープロパティの使用](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-writer-prop-mule) and [Use Reader and Writer Properties in DataWeave Functions](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-cookbook-set-reader-writer-props#use-reader-and-writer-properties-in-dataweave-functions)​で示されている事例で必要です。また、ユースケース ​`output application/my-custom-type with json indent=false`​ などで、ライタープロパティを追加することもできます。

入力データの場合、Mule ソースの形式固有のリーダー (新規ファイルリスナーなど)、Mule 操作 (Read、HTTP Request 操作など)、および DataWeave 式では、Mule イベントの入力ペイロード、属性、および変数に関連付けられるメタデータから MIME タイプが推定されます。MIME タイプをメタデータから推定できない場合 (およびそのメタデータが静的でない場合)、Mule ソースおよび操作では、リーダーの MIME タイプを指定することができます。たとえば、新規ファイルリスナーの MIME タイプを CSV ファイルの​_入力_​用の ​`outputMimeType='application/csv'`​ に設定できます。この設定では、ファイル形式に関する情報が CSV リーダーに提供されます。

例: CSV リーダーの MIME タイプ

```xml
<file:listener doc:name="On New File"
  config-ref="File_Config"
  outputMimeType='application/csv'>
</file:listener>
```

形式間の変換を実行するのにリーダー設定は使用​_されません_​。リーダー設定は、リーダーが入力の形式を解釈できるようサポートするのみです。

また、ソース、操作、またはコンポーネントの形式固有のリーダーまたはライターで使用する、リーダーとライターの特別なプロパティを設定することもできます。 「​[リーダーとライターのプロパティの使用](#reader_writer_properties)​」を参照してください。

## [](#関連情報)関連情報

[Transform Message コンポーネント](https://docs.mulesoft.com/studio/transform-message-component-concept-studio)

[フラットファイルスキーマ](https://docs.mulesoft.com/jp/dataweave/2.6/dataweave-flat-file-schemas)