データベースから値を取得する JDBC コネクタがあり、それらをオブジェクトから JSON にマップしました。ここで、json からフロー変数に特定の値を抽出したいと考えています。#[message.payload] をログに記録しようとすると、JSON 形式のログに完全なペイロードが表示されます。ただし、属性 (例: json の testattribute) #[message.payload.testattribute] を選択しようとすると、ミュール式エラーが発生します。json 値を参照するにはどうすればよいですか?
質問する
14473 次
4 に答える
2
Mule には、JSON 要素を取得するために使用できる JSON-to-Object トランスフォーマーがあります。たとえば、JSON が次の場合:-
{
"token" : 123,
"id" : 456,
"email" : "abc@abc.com",
"status" : "Success"
}
ここで、要素を抽出するには、次を使用する必要があります:-
<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object" />
そして、次のように抽出できます:-#[message.payload.email]
または#[message.payload.status]
于 2015-07-21T04:01:05.710 に答える
1
次のようにコンポーネントを使用します
- オブジェクト - 文字列
- オブジェクト - JSON
次に、json 式を#{json:email}として使用して値を使用して直接抽出できます。以下の xml では、変数コンポーネントを使用して、使いやすさのために「var1」フロー変数に #{json:email} を設定しました。
注: json 式は、5.x のスタジオ バージョンでも使用できます。
<object-to-string-transformer doc:name="Object to String"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<set-variable variableName="var1" value="#[json:email]" doc:name="Variable"/>
于 2015-12-24T09:46:26.647 に答える