从 Mule 中的 JSON 获取数据值
Get Data Value from JSON in Mule
我收到来自 API 调用的以下响应,现在正尝试获取变量中的值。
[{"Name":"My name","Address":"add1","Location":"NY"}]
尝试了以下所有方法,但都返回空值或错误。
<set-variable variableName="alertIdPayload" value="#[payload[0].Name]" doc:name="Payload"/>
<set-variable variableName="alertIdPayload" value="#[message.payload[0].Name]" doc:name="Payload"/>
<set-variable variableName="alertIdPayload" value="#[json:Name]" doc:name="Payload"/>
<set-variable variableName="alertIdPayload" value="#[json:payload[0]/Name]" doc:name="Payload"/>
知道如何获得这个值吗?
您可以在 DataWeave 中设置这些,或者进行 json-to-object
转换并使用 set-variable
组件:
这是数据编织:
<dw:transform-message doc:name="Transform Message">
<dw:set-variable variableName="alertIdPayload">
<![CDATA[
%dw 1.0
%output application/java
---
payload[0].Name
]]>
</dw:set-variable>
</dw:transform-message>
这里有变压器和 set-variable
组件:
<json:json-to-object-transformer returnClass="java.util.List" mimeType="application/java" doc:name="JSON to Object"/>
<set-variable variableName="alertIdPayload" value="#[payload[0].Name]" doc:name="Variable"/>
希望这对您有所帮助。
先转换为贴图数组,然后使用 MEL 表达式提取值:
<json:json-to-object-transformer
returnClass="java.util.HashMap[]" doc:name="JSON to Object" />
<set-variable variableName="alertIdPayload" value="#[payload[0].Name]" doc:name="Payload"/>
我收到来自 API 调用的以下响应,现在正尝试获取变量中的值。
[{"Name":"My name","Address":"add1","Location":"NY"}]
尝试了以下所有方法,但都返回空值或错误。
<set-variable variableName="alertIdPayload" value="#[payload[0].Name]" doc:name="Payload"/>
<set-variable variableName="alertIdPayload" value="#[message.payload[0].Name]" doc:name="Payload"/>
<set-variable variableName="alertIdPayload" value="#[json:Name]" doc:name="Payload"/>
<set-variable variableName="alertIdPayload" value="#[json:payload[0]/Name]" doc:name="Payload"/>
知道如何获得这个值吗?
您可以在 DataWeave 中设置这些,或者进行 json-to-object
转换并使用 set-variable
组件:
这是数据编织:
<dw:transform-message doc:name="Transform Message">
<dw:set-variable variableName="alertIdPayload">
<![CDATA[
%dw 1.0
%output application/java
---
payload[0].Name
]]>
</dw:set-variable>
</dw:transform-message>
这里有变压器和 set-variable
组件:
<json:json-to-object-transformer returnClass="java.util.List" mimeType="application/java" doc:name="JSON to Object"/>
<set-variable variableName="alertIdPayload" value="#[payload[0].Name]" doc:name="Variable"/>
希望这对您有所帮助。
先转换为贴图数组,然后使用 MEL 表达式提取值:
<json:json-to-object-transformer
returnClass="java.util.HashMap[]" doc:name="JSON to Object" />
<set-variable variableName="alertIdPayload" value="#[payload[0].Name]" doc:name="Payload"/>