write

write(value: Any, contentType: String = "application/dw", writerProperties: Object = ​{}​): String | Binary

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

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

パラメーター

名前 説明

value

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

contentType

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

writerProperties

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

この例では、文字列 ​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>