我有以下JSON有效负载
[
{
"name": "Car Sale",
"id": 1,
"status": "processing"
},
{
"name": "Car Sale",
"id": 2,
"status": "processing"
}
]
如何将有效负载值设置为Java组件
public class ClientDetailRequest {
private String name;
private Long id;
private String status;
}
我想将POJO用作Web服务并通过soap发送pojo
答案 0 :(得分:1)
<http:http:inbound-endpoint exchange-pattern="request-response" host="xxx.xxx.xxx.xxx" port="8080" path="path/to/service" doc:name="HTTP" contentType="application/json"/>
<json:json-to-object-transformer returnClass="xxxx.xxxx.ClientDetailRequest"/>
湾或者用户自定义变换器(仅当上述选项不起作用时)
哦,只是意识到你想处理对象上的数组。在这种情况下,您应该获取json并将其转换为Map。
<json:json-to-object-transformer returnClass="java.util.HashMap" />
然后使用MEL(如标准MVEL或Java语法)进行查询
<logger message="#[payload.ClientDetailRequest[0]]" level="INFO" />
现在有各种方法来处理这个问题 - 请查看MVL表达式或groovy或使用纯Java代码..
答案 1 :(得分:0)
要将json转换为可以使用的java对象:
<flow name="stack" doc:name="stack">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8082" path="jsonArray" doc:name="HTTP"/>
<logger level="INFO" doc:name="Logger" message="in flow."/>
<json:json-to-object-transformer doc:name="JSON to Object" returnClass="mule.example.ClientDetailRequest[]"/>
<collection-splitter doc:name="Collection Splitter"/>
<logger message="payload is #[payload]" level="INFO" doc:name="Logger"/>
</flow>
我希望能提供帮助;