如何将所有JSON对象从迭代器存储到WSO2 ESB中的一个数组中



我有一个看起来像

的JSON输出
"details": [
        {
            "id": "",
            "name": "",
            "status": "",
        },
       {
            "id": "",
            "name": "",
            "status": "",
        },
       {
            "id": "",
            "name": "",
            "status": "",
        },
       {
            "id": "",
            "name": "",
            "status": "",
        }

从此输出中,我可以迭代值,例如//jsonobject/详细信息,然后获取单个项目 json-eval('$.details.id'),但我想将所有ID和名称存储在WSO2 ESB中的数组中,从我获得的输出中,任何人都可以帮助我。

不确定是否有帮助,我认为以下PSEYDO代码可能会这样做,但我没有尝试过。

    //create an empty var
<property name="newArray" value=""/>
//iterate over the json
<iterate xmlns:ns="http://org.apache.synapse/xsd" continueParent="true" expression="//jsonObjects/object" id="MyIterator">
....
    <property name="newArray" expression="fn:concat(get-property('newArray'),//jsonObjects/object/value)" scope="operation"/>
    ....
</iterate>
<log>
    <property name="afterIterate" expression="get-property('operation','newArray')"/>
</log>

最新更新