2014-05-09 60 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

沒有大衛,故障信息進來TASKINFO只有在response.so存在故障它可能會或可能不會come.ie有時故障進來TASKINFO有的時候它不來。 – lucky

+0

好的,這從你的例子中是不清楚的。我會重構我的答案。 –

+0

完成後,此新版本根據「faultInfo」的存在過濾「TaskInfo」元素。 –