---
schema_version: "1"
id: 72910700edb48e5491ba33ea84db24dd5d9d30218983ee46011c55275b790b7d
title: Mule データ型
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.4/mule-data-types.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.4/mule-data-types
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 8b3a3b02621d54dc8c972ed64feb5d012bd9cb156e7534c7613df3c36e298e57
description: MuleSoft Documentation Site
release: "4.4"
latest: false
---
# Mule データ型

Mule Runtime Engine では、さまざまなコンポーネントのデータアクセスを一元化する ​`TypedValue`​ という型付けされたデータ構造を使用します。このデータ構造は実際のデータとそのデータ型の両方へのアクセスを提供します。データ型は 2 つの値 (MIME タイプとデータのエンコード) で構成されます。

## [](#入力データ)入力データ

Mule は ​`TypedValue`​ データ構造を使用してすべての変数とペイロードを保存します。また、Anypoint Platform File Connector からの ​`List`​ のような操作では、結果が ​`TypedValue`​ インスタンスで返されるため、DataWeave は読み込むさまざまな種別のファイル (JSON、XML、CSV など) をリストできます。

## [](#出力データ)出力データ

DataWeave では常に ​`TypedValue`​ インスタンスが出力されます。また、使用するライターが ​`TypedValue`​ インスタンスのデータ型に基づいて判断されます。ただし、DataWeave スクリプトで ​`output`​ ディレクティブを使用してデータ型を手動で指定できます。 Mule が実行しているスクリプトがメッセージ処理項目に割り当てられている場合、Mule から DataWeave にその項目のメタデータに基づいてどのデータ型を想定すべきかが伝えられます。たとえば、データ型が Plain Old Java Object (Pojo) の場合、DataWeave はインスタンス化するクラスだけでなく、Java ライターを使用して出力を生成する必要があることも把握できます。

## [](#dataweave-での-mule-データ型の使用方法)DataWeave での Mule データ型の使用方法

DataWeave は ​`TypedValue`​ インスタンスに含まれるデータ型を使用し、MIME タイプに基づいて使用すべきリーダー、MIME タイププロパティに基づいてそのリーダーの設定方法 (エンコード、リーダープロパティ) を決定します。 データ型を決定できない場合、DataWeave は次の手順に従います。

1. スクリプトが使用している入力種別を確認する。
    
    すべての入力が互換か同じデータ型の場合、DataWeave はそのデータ型を使用します。たとえば、スクリプトに ​`<set-payload value="#[payload.someValue]/>`​ が含まれている場合、DataWeave はそのペイロードのデータ型を調べ、ペイロードが JSON であれば JSON ライターを使用します。スクリプトに異なるデータ型から複数の入力がある場合、DataWeave はエラーをスローします。
    
    たとえば、スクリプトに ​`<set-payload value="#[payload.someValue ++ vars.myVar]/>`​ が含まれていて、その ​`vars.myBar`​ が XML 型で ​`payload`​ が JSON 型の場合、DataWeave はエラーをスローします。場合によっては、特に XML を操作するときには、Set Payload 操作の式は、無効な XML 構造が生成されたために失敗します。
2. 入力が使用されない場合、DataWeave は Java ライターを使用する。
    
    たとえば、DataWeave がスクリプト ​`<set-payload value="#[\{a: true}]/>`​ を読み込むとき、Java ライターを使用して ("a", true) が含まれるエントリで ​`java.util.Map`​ オブジェクトを出力します。
    
    Logger メッセージプロセッサーの場合、DataWeave には出力作成時のエラーを回避するための特別な機能があります。まず、スクリプトが使用している入力種別の判別を試みてから、対応するライターを使用して出力を生成します。ライターがデータ構造を作成できないために DataWeave が失敗すると、次は有効なデータ構造を出力できる DataWeave ライターが使用されます。

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

- [DataWeave 言語](https://docs.mulesoft.com/dataweave/latest/)
- [Setting MIME Types in DataWeave (DataWeave での MIME タイプの設定)](https://docs.mulesoft.com/dataweave/latest/dataweave-formats#setting-mime-types)