针对特定元素的JSON解析

针对特定元素的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> 

在此先感谢您的任何帮助。

+0

处理有效载荷,你能否告诉我们整个XML文档? –

+0

https://docs.mulesoft.com/mule-user-guide/v/3.8/json-module-reference 检查了这一点。 –

+0

请找到以上两个示例xml请求 – user3366906

要从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="{ &quot;AccountNo&quot;: &quot;#[json:Account:AccountNo]&quot;}" mimeType="application/json" doc:name="payload"/>