Flex Gateway新着情報
Governance新着情報
Monitoring API Manager文字列またはバイナリを読み取り、解析後のコンテンツを返します。
この関数は、リーダーのデフォルトではコンテンツタイプを判別できない場合などに役立ちます。
名前 | 説明 |
---|---|
|
読み取る文字列またはバイナリ。 |
|
サポートされる形式 (またはコンテンツタイプ)。デフォルト: |
|
(省略可能) リーダー設定プロパティを定義します。他の形式およびリーダー設定プロパティについては、 「サポートされるデータ形式」を参照してください。 |
次の例では、JSON オブジェクト { "hello" : "world" }'
を読み取り、"application/json"
引数を使用して入力コンテンツタイプを示します。対照的に、スクリプトのヘッダーの output application/xml
ディレクティブでは、JSON コンテンツを XML 出力に変換するようにスクリプトに指示しています。XML 出力では、hello
がルート XML 要素として使用され、world
がその要素の値として使用されています。XML の hello
は JSON オブジェクトのキー "hello"
に対応し、world
は JSON 値 "world"
に対応します。
次の例では、文字列をヘッダーなしの CSV 形式として読み取り、JSON に変換します。列名がキーとして出力オブジェクトに追加されています。また、ここでは [0]
を関数コールに付加し、結果の配列の最初のインデックスを選択しているため、結果は配列内に生成されません (出力オブジェクト全体が角括弧で囲まれています)。
次の例では、指定された XML を読み取り、リーダープロパティの構文 (この場合は { indexedReader: "false" }
) を示しています。
次の例では、入力パラメーターが XML または JSON 形式の場合は入力パラメーターを返し、それ以外の場合は Not XML or JSON
メッセージを返します。
この例では read
関数を使用して、指定された入力文字列が XML または JSON であるかどうかを確認します。
%dw 2.0
import * from dw::Runtime
output application/dw
var xmlInput = "<Input><name>Max the Mule</name><ID>123</ID><Type>XML</Type></Input>"
var jsonInput = '{"Input": {"name": "Max the Mule", "ID": 123, "Type": "JSON"}}'
var stringInput = "name: Max the Mule, ID: 123, Type: String"
//This function returns the input parameter if it is in XML or JSON format, otherwise, it returns a static message
fun testType(inputMessage) =
// Reads the input only if the data is in JSON format
try(() -> read(inputMessage,"application/json"))
// Reads the input only if the data is in XML format
orElseTry(() -> read(inputMessage,"application/xml"))
// Return this message if the input data is not either in XML or JSON format
orElse("Not XML or JSON")
---
{
"Test 'xmlInput' ": testType(xmlInput),
"Test 'jsonInput' ": testType(jsonInput),
"Test 'stringInput' ": testType(stringInput),
}