write

DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポート​が終了しました。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

write(Any, String, Object): String | Binary

値を、サポートされる形式で文字列またはバイナリとして記述します。

指定された形式 (MIME タイプ) での値のシリアル化表現の文字列またはバイナリを返します。この関数では、入力とは異なる形式に記述することができます。データはこの新しい形式で検証される必要があります。検証されない場合、エラーが発生します。たとえば、​application/xml​ コンテンツは ​application/json​ 形式内では有効ではありませんが、​text/plain​ は有効になる可能性があります。

パラメーター

名前 説明

value

記述する値。サポート対象の任意のデータ型の値を使用できます。

contentType

記述でサポートされる形式 (または MIME タイプ)。デフォルト: application/dw​。

writerProperties

省略可能: ライター設定プロパティを設定します。ライター設定プロパティ (および他のサポートされる MIME タイプ) については、 「DataWeave の出力形式とライタープロパティ」​を参照してください。

この例では、文字列 ​world​ をプレーンテキスト (​text/plain"​) で記述します。文字列は、キー ​hello​ を含む JSON オブジェクトの値として出力されます。

ソース

%dw 2.0
output application/json
---
{ hello : write("world", "text/plain") }

出力

{ "hello": "world" }

次の例では、JSON 入力を取り込み、ペイロードを CSV 形式で記述します。区切り文字にはパイプ (​|​) を使用し、ヘッダー (JSON オブジェクトのキーと一致する) を含めます。 スクリプトで ​"header":false​ を使用すると、出力には ​Name|Email|Id|Title​ ヘッダーが含まれません。

ソース

%dw 2.0
output application/xml
---
{ "output" : write(payload, "application/csv", {"header":true, "separator" : "|"}) }

入力

[
  {
    "Name": "Mr White",
    "Email": "white@mulesoft.com",
    "Id": "1234",
    "Title": "Chief Java Prophet"
  },
  {
    "Name": "Mr Orange",
    "Email": "orange@mulesoft.com",
    "Id": "4567",
    "Title": "Integration Ninja"
  }
]

出力

<?xml version="1.0" encoding="US-ASCII"?>
<output>Name|Email|Id|Title
Mr White|white@mulesoft.com|1234|Chief Java Prophet
Mr Orange|orange@mulesoft.com|4567|Integration Ninja
</output>