繁体   English   中英

WSO2 Lopp 通过 Json 阵列

[英]WSO2 Lopp through Json array

这是我的输入 Json:

如何获取“值”字段并将其设置为属性?

 [
        {
            "Name": "Утасны дугаар",
            "Value": "95252351",
            "ParameterName": "{xacparam01}",
            "IsRequired": "1",
            "MinLength": "5",
            "MaxLength": "10",
            "Type": "String"
        },
        {
            "Name": "dans",
            "Value": "99115544",
            "ParameterName": "{xacparam02}",
            "IsRequired": "1",
            "MinLength": "5",
            "MaxLength": "10",
            "Type": "String"
        },
        {
            "Name": "dfd",
            "Value": "88554455",
            "ParameterName": "{xacparam03}",
            "IsRequired": "1",
            "MinLength": "5",
            "MaxLength": "10",
            "Type": "String"
        }
    ]

当我循环通过 json 时,我只能获得最后一次迭代

所需的 Output:

{
"val1" : "95252351",
"val2" : "99115544",
"val3" : "88554455"
}

无法为 JSON object 生成字段名称。 您可以使用给定的代理获得如下所示的 output。

output JSON

{
    "values": [
        95252351,
        99115544,
        88554455
    ]
}

代理服务

<?xml version="1.0" encoding="UTF-8"?>
<proxy name="test2" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org/ns/synapse">
    <target>
        <inSequence>
            <log level="full">
                <property name="log1" value="invoked"/>
            </log>
            <property name="messageType" scope="axis2" type="STRING" value="application/xml"/>
            <property name="Content-Type" scope="transport" type="STRING" value="application/xml"/>
            <log level="full">
                <property name="log2" value="after conversion"/>
            </log>
            <foreach expression="//jsonArray/jsonElement" id="foreach">
                <sequence>
                    <payloadFactory media-type="xml">
                        <format>
                            <values xmlns="">$1</values>
                        </format>
                        <args>
                            <arg evaluator="xml" expression="//jsonElement/Value" literal="true"/>
                        </args>
                    </payloadFactory>
                </sequence>
            </foreach>
            <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
            <property name="Content-Type" scope="transport" type="STRING" value="application/json"/>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
</proxy>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM