異なるjsonペイロードでAccountNoフィールドの値を検索する必要があります。 AccountNoはjsonペイロードのどのレベルにも存在できます。 AccountNoが存在するかどうかを確認し、ロガーで値を印刷する必要があります。JSONハッシュマップで特定のデータを検索
私は以下のものをより豊富に使用していますが、AccountNoキーがどこにも存在するかどうかを確認して値を取得するために、ハッシュマップを繰り返していきたいと考えています。
また、json自体を解析する他の方法があるかどうかをご提案ください。 xpathでは "// AccountNo"はxml文書全体のAccountNoを検索します。私は何かの後に似ています。
<enricher target="#[flowVars.myJsonMap]" doc:name="Message Enricher"> <json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object"/> </enricher> <logger message="#[flowVars.myJsonMap.employees[0].AccountNo]" level="INFO" doc:name="Logger"/> </flow>
そのハッシュマップ
ので例のJSONペイロードの下
{
"Account": {
"AccountName": "John",
"AccountNo": "4234324"
}
}
{
"Order": {
"OrderId": "34234242",
"ServiceOrder": [
{
"AccountNo": "231232",
"ServiceOrderId": "54654698787"
},
{
"AccountNo": "231232",
"ServiceOrderId": "78979879797"
}
]
}
この場合、私のキーが入れ子になる場所はわかりません。上記のサンプルペイロードは、元のコメントで見つけてください。 – user3366906