0
我與wso2esb 4.9.0和Wso2dss3.0.0JSON路徑
我從DSS服務SOAP響應如下圖所示
<soapenv:Header/>
<soapenv:Body>
<DataCollection xmlns="http://ws.wso2.org/dataservice">
<Datalist>
<partybranchid>2127629166052452</partybranchid>
<partybranchname>other locations</partybranchname>
<status>1</status>
<partybranchtype>-1</partybranchtype>
<partyid>460077453499443</partyid>
<partyname>Yash Technologies Pvt Ltd</partyname>
<ouid>-1</ouid>
<organizationunitname>NONE</organizationunitname>
<inchargeid>-1899999899</inchargeid>
<sbuheadid>-1</sbuheadid>
<usercriteriaconfigid>1187416899913503</usercriteriaconfigid>
<primarymail>[email protected]</primarymail>
</Datalist>
<Datalist>
<partybranchid>2545910581364239</partybranchid>
<partybranchname>DBPB001</partybranchname>
<status>1</status>
<partybranchtype>2299733851146138</partybranchtype>
<partyid>2534954639984412</partyid>
<partyname>DBPRTY001</partyname>
<ouid>2538210579514587</ouid>
<organizationunitname>DBORG001</organizationunitname>
<inchargeid>2540093122446574</inchargeid>
<sbuheadid>1209449655666077</sbuheadid>
<usercriteriaconfigid>1187416899913503</usercriteriaconfigid>
<primarymail>[email protected]</primarymail>
</Datalist>
</DataCollection>
</soapenv:Body>
從工作上面的SOAP響應中,Iwant將獲得總數爲Datalist
的記錄到我的服務中。爲此,我給了一個JSON文件屬性如下圖所示:
<property name="Total"
expression="json-eval($.DataCollection.Datalist.length)"
scope="default"
type="STRING"/>
Total
應該得到的值作爲2
,因爲他們是兩個記錄,你可以看到;但是這是返回null
。我認爲我給的JSON路徑不起作用。
什麼是正確的JSON路徑來計算記錄的數量?
嗨,這實際上工作,但我想在JSON payloadfactory調解器中傳遞此值,所以我怎麼能做到這一點,而不是使用腳本調解器是否有任何直接的JSONpath來計算元素的數量。 – user4045063
只需獲得Datalist的數量,然後將消息傳遞給JSON有效載荷控制器,那麼您將在身體環境中具有與Datalist項目的總數相關的屬性,並且可以在JSON有效載荷調解器中使用。 – simar
嗨simar其實我正在尋找設置JSONpath的屬性來獲取Datalist元素的計數,以便我可以在我的JSON負載中傳遞此值,你有任何想法如何設置此屬性與JSONpath – user4045063