다른 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