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

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

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.3/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.3/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.3/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.3/dataweave-formats-flatfile" class="xref page">フラットファイル形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-formats-copybook" class="xref page">COBOL コピーブック形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.3/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.3/dataweave-formats-java" class="xref page">Java 形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.3/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.3/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.3/dataweave-formats-binary" class="xref page">バイナリ形式</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.3/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.3/dataweave-formats-xml" class="xref page">XML 形式</a>​、​<a href="https://docs.mulesoft.com/jp/dataweave/2.3/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.3/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.3/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.3/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.3/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.3/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.3/dataweave-formats-properties" class="xref page">テキスト Java プロパティ</a>​</p></td>
</tr>
</tbody>
</table>

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

DataWeave は、入力データ全体をメモリ内でインデックス付きで読み取ることができます。また、データ形式によっては、入力をストリーミングして部分ごとに読み取ることもできます。大きなファイルを読み取る場合、メモリ不足になったり、パフォーマンスが低下したりする可能性があります。ストリーミングはパフォーマンスを向上する可能性がありますが、ファイルへのアクセスに影響します。

- インデックス付きおよびメモリ内:  
    このどちらの戦略でもドキュメント全体が解析されるため、データへのランダムアクセスが可能です。これらの戦略を使用すると、DataWeave スクリプトで結果値の任意の部分にいつでもアクセスできます。
    
    - インデックス付き:  
        ディスク上でインデックスを使用します。
        
        DataWeave では、インデックス付きモードで次の形式のみを読み取ることができます。
        
        CSV、JSON、XML (Mule 4.3.0 以降)
        
        DataWeave では、インデックス付きモードで Excel (XLSX) 入力を読み込むことは​_できません_​。
    - メモリ内:  
        メモリ内でドキュメント全体を解析します。
        
        DataWeave では、メモリ内モードを使用して、サポートされるすべての形式を読み取ることができます。

- ストリーミング:  
    ファイルへの順次アクセスが可能です。この戦略では、入力ドキュメントを小さな項目に分割し、そのデータに順次アクセスして、現在の項目をメモリ内に保存します。DataWeave セレクターは、読み取られているファイルの部分にアクセスできます。
    
    DataWeave では、次の形式でのみストリーミングがサポートされます。
    
    CSV、JSON、Excel (XLSX、Mule 4.2.2 以降)、XML (Mule 4.3.0)

詳細は、​[「DataWeave のストリーミング」](https://docs.mulesoft.com/jp/dataweave/2.3/dataweave-streaming)​を参照してください。

## [](#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.3/dw-core-functions-read)​の例を参照してください。ただし、​[CSV リーダーの例](#example_csv_reader)​に示されるように、リーダープロパティは HTTP リスナーなどのメッセージソースでより一般的に使用されます。

Mule 変数を設定プロパティの値として使用することもできます。他の完全な例は、​[「リーダーとライターの設定プロパティの設定」](https://docs.mulesoft.com/jp/dataweave/2.3/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.3/dataweave-cookbook-change-script-output-mime)​を参照してください。

`with`​ キーワードは、出力 MIME タイプをスクリプトの出力の DataWeave ライターから分離します。たとえば、'output applicatio:page-aliases を指定できます。

入力データの場合、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.3/dataweave-flat-file-schemas)