---
schema_version: "1"
id: 459f8ad45ce7c81d428772b1b511ae10f78c81e4109902ac741eecbb1e39d2b3
title: "Mule 4 の概要: DataWeave 2.0"
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.7/intro-dataweave2.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.7/intro-dataweave2
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 92b8056e927d8e1c85ad4a39682386cb131bbc3647ba6ce645f0e93edbeca646
description: MuleSoft Documentation Site
release: "4.7"
latest: false
---
# Mule 4 の概要: DataWeave 2.0

DataWeave 2 はほぼ DataWeave 1 のままです。ただし、習得しやすいようにさまざまな点が改善され、新しい機能が追加されています。

## [](#演算子は関数)演算子は関数

DataWeave 2 では、演算子がすべて関数になりました。このためコード上の括弧が増えるかもしれませんが、曖昧さが減少し、オートコンプリート機能を使用して習得しやすくなります。パラメーターが 2 つある関数はこれまでどおりの構文で機能するため、上級ユーザーは短い構文を使用できます。

<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>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 1</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sizeOf payload filter $.age &gt; 30</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 2 - 関数構文</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sizeOf(filter(payload, (value) → value.age &gt; 30)))</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 2 - 簡単な構文</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>sizeOf(payload filter $.age &gt; 30)</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>

## [](#特性は関数)特性は関数

<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>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 1</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload is :empty</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 2</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>isEmpty(payload)</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>

## [](#型名)型名

DataWeave 2 では型名構文が使用され、型名から ​`:`​ が除去されます。

<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>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 1</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload.foo as :string</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">DataWeave 2</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload.foo as String</code></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>

## [](#xml-形式)XML 形式

DataWeave 2.0 では、​`nullValueOn`​ リーダープロパティのデフォルト値が ​`empty`​ です。

DataWeave 1.0 (Mule 3.x に対応) の場合は、以下の例のとおり、この値が ​`none`​ です。

DataWeave スクリプト

```dataweave
%dw 1.0
%output application/xml nullValueOn="none"
---
payload
```

入力

```xml
<book>
  <name></name>
</book>
```

出力

```xml
<book/>
```

## [](#新機能)新機能

以下をはじめとする多数の新機能が導入されています。

- 再利用可能な関数の入力
- 複数行のコメント
- Java コードのコールアウト機能
- URL エンコードされたマルチパートのテキストリーダーおよびライター
- モジュールとインポート
- など

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

[DataWeave 1.0 から 2.x への移行](https://docs.mulesoft.com/jp/mule-runtime/4.7/migration-dataweave)

[DataWeave 言語](https://docs.mulesoft.com/jp/mule-runtime/4.7/dataweave)