如何计算JSON数组中的元素

时间:2014-05-09 07:45:10

标签: json mule anypoint-studio

我想从下面的json数组中获取 faultInfoLst 元素的计数。我想根据该元素的数量进行操作。帮助我计算,因为我必须在mule flow中的会话变量中设置它。

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

1 个答案:

答案 0 :(得分:1)

似乎只需获取数组的大小即可实现目标。似乎与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()]" />