[英]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.