我被困住了,需要一些建议来评估 WSO2 ESB。
我在 JSON 中有一个请求有效负载,如下所示。
{
names:
[
{
“name”:”niraj”
},
{
“name=”atul”
}
]
}
我需要一一迭代 $body/names/name 并创建一个 JSON 数组,如下所示。
{
resp:
[
{
“name”:”niraj”,
“city”:”pune”
},
{
“name”:”atul”,
“city”:”mumbai”
}
]
}
我面临的问题是我无法在 WSO2 ESB 的 foreach 中介内创建 JsonArray。我看不到在 WSO2 ESB 中定义/使用 JsonArray 的任何选项。
如果您有任何建议,请提出建议。
我已经编写了下面的代码。
<foreach expression="$body/Children/Children" id="f4">
<sequence>
<filter xpath="$body/Children/_JsonReader_PS_type and $body/Children/_JsonReader_PS_type='Entity' and $body/Children/PrimaryKey='true' and $body/Children/Items/FirstName/Value ">
<then>
<log level="custom">
<property name="logger" value="I am inside 8 Filter"/>
<property expression="$body/Children/Items/FirstName/Value" name="firstName"/>
<property expression="$body/Children/Items/LastName/Value" name="lastName"/>
<property expression="$body/Children/Items/PersonNumber/Value" name="ssn"/>
</log>
<property expression="$body/Children/Items/FirstName/Value" name="firstName" scope="default" type="STRING"/>
<property expression="$body/Children/Items/LastName/Value" name="lastName" scope="default" type="STRING"/>
<property expression="$body/Children/Items/PersonNumber/Value" name="ssn" scope="default" type="STRING"/>
<payloadFactory media-type="json">
<format>{
"First Name" : "$1",
"Last Name" : "$2",
"SSN" : "$3"
}</format>
<args>
<arg evaluator="xml" expression="get-property('firstName')"/>
<arg evaluator="xml" expression="get-property('lastName')"/>
<arg evaluator="xml" expression="get-property('ssn')"/>
</args>
</payloadFactory>
<log>
<property expression="json-eval($.)" name="JSON-Payload"/>
</log>
</then>
<else/>
</filter>
</sequence>
</foreach>
谢谢!