针对特定元素的JSON解析
问题描述:
以下xpath表达式在整个xml文档中的任何位置查找AccountNo元素。 #[xpath3('//AccountNo').text]
针对特定元素的JSON解析
我是类似的表达式后,如果从任何地方存在json请求获取AccountNo。
以下是包含AccountNo的示例xml请求。
<Account>
<AccountName>John</AccountName>
<AccountNo>4234324</AccountNo>
</Account>
<Order>
<OrderId>34234242</OrderId>
<ServiceOrder>
<AccountNo>231232</AccountNo>
<ServiceOrderId>54654698787</ServiceOrderId>
</ServiceOrder>
<ServiceOrder>
<AccountNo>231232</AccountNo>
<ServiceOrderId>78979879797</ServiceOrderId>
</ServiceOrder>
</Order>
在此先感谢您的任何帮助。
答
要从Mule流中的JSON有效内容元素中获取值,首先需要将json有效内容转换为对象,如下所示。
<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/>
然后如下获取json有效载荷元素。在下面的代码中,我从JSON有效载荷中获取RecordId的值。
<set-variable variableName="RecordID" value="#[payload.DocProcessingMessage.UploadEfnolDocument.RecordId]" doc:name="Variable_RecordID"/>
完成后,将有效负载转换回JSON进行进一步处理。
<json:object-to-json-transformer doc:name="Object to JSON"/>
答
先转换XML有效载荷为JSON然后用变压器
<json:xml-to-json-transformer doc:name="XML to JSON" mimeType="application/json"/>
<set-payload value="{ "AccountNo": "#[json:Account:AccountNo]"}" mimeType="application/json" doc:name="payload"/>
处理有效载荷,你能否告诉我们整个XML文档? –
https://docs.mulesoft.com/mule-user-guide/v/3.8/json-module-reference 检查了这一点。 –
请找到以上两个示例xml请求 – user3366906