2014-05-09 2 views
-1

아래의 json 배열에서 faultInfoLst 요소를 얻고 싶습니다. 그 요소의 개수에 따라 연산을 수행하고 싶습니다. 뮬 플로우에서 세션 변수로 설정해야하므로 셀 수있게 도와주세요.JSON 배열에서 요소를 계산하는 방법

[{"TaskInfo": 
    {"faultInfo": 
     { 
      "errCode":"", 
      "errDesc":"", 
      "errSystem":"" 
     } 
    } 
}, 
{"TaskInfo": 
    {"faultInfo": 
     { 
      "errCode":"", 
      "errDesc":"", 
      "errSystem":"", 
      "errStack":"" 
     } 
    } 
}] 

답변

0

단순히 배열의 크기를 가져 와서 목표를 달성 할 수 있습니다. 참으로 faultInfoTaskInfo과 1 : 1의 관계가있는 것으로 보입니다.

은 그래서를 기반으로 : http://www.mulesoft.org/documentation/display/current/Mule+Expression+Language+Tips#MuleExpressionLanguageTips-JSONProcessing

<json:json-to-object-transformer returnClass="java.lang.Object" /> 
<set-variable variableName="faultInfoCount" 
    value="#[($ in message.payload if $.TaskInfo.containsKey('faultInfo')).size()]" /> 
+0

고장이 response.so에있는 경우 데이비드는 오류 정보가 taskinfo에서 오는 어떤 만이 올 수 있습니다 또는 때때로 오류가 taskinfo 일부 번에 제공 come.ie하지 않을 수 있습니다 오지 않는다. – lucky

+0

OK 예에서 분명하지 않았습니다. 나는 내 대답을 리팩터링 할 것이다. –

+0

이 새로운 버전은'faultInfo'의 존재에 기반하여'TaskInfo' 엘리먼트를 필터링합니다. –

관련 문제