我有这样的json响应 - 我想提取p_ProviderID的值。 请指导我如何在骡子流中做到这一点?
{
"category" : "Address",
"status": "SUCCESS",
"result": {
"p_ProviderID": 4,
"p_NewProvInd": "Exist"
}
}
答案 0 :(得分:8)
使用apply
,然后您可以使用MEL <json:json-to-object-transformer returnClass="java.util.HashMap" doc:name="JSON to Object" />
例如,您可以在使用#[message.payload.result.p_ProviderID]
后在记录器中获取 p_ProviderID 的值,如下所示: -
<json:json-to-object-transformer/>
答案 1 :(得分:4)
对于像这样简单的Json,你最好使用JsonPath。像#[json:result/p_ProviderID]
这样的简单表达式可以为您提供所需的内容。
P.S。:从3.5开始,Mule对JsonPath的支持非常有限,并不像Xpath那样灵活。
答案 2 :(得分:0)
我们需要使用Json到Object转换器并将返回类类型设置为java.util.Map或Java.util.List - 在您的情况下,这是Map。如果在Json中有多个相同类型的元素,则需要使用java.util.List