如何将 LinkedHashMap 负载转换为 mule 中的对象负载?
How to transform a LinkedHashMap Payload to Object Payload in mule?
我想在 mule 中将 LinkedHashMap
有效载荷转换为 Object
有效载荷,我使用了字节数组到对象转换器,但它对我不起作用,有想法吗?
您可以使用 dataweave 将通用类型 (=java.util.Map
) 的有效负载转换为特定类型(示例中的 foo.bar.Type
):
%dw 1.0
%output application/java
---
payload as :object {
class: "foo.bar.Type"
}
您可以使用 dataweave 或 json 对象转换器。
您似乎特别提到了对象类型。 LinkedHashMap 已经是 Object 的实例:每个 Java 个实例继承自根 class Object.
如果您想将 HashMap 转换为特定对象,例如 JSON 或自定义对象,例如 com.mycompany.CompData,根据您的用例,您有几种可能性:
- 使用其他答案中提到的 DataWeave(需要 EE)
- 使用内置转换器,例如 Object-to-JSON
- 通过扩展 AbstractTransformer 实现您自己的 Transformer
有关详细信息,请参阅文档:https://docs.mulesoft.com/mule-user-guide/v/3.8/using-transformers
如果您可以更具体地说明您的用例是什么,我会很乐意完善我的答案;)
我想在 mule 中将 LinkedHashMap
有效载荷转换为 Object
有效载荷,我使用了字节数组到对象转换器,但它对我不起作用,有想法吗?
您可以使用 dataweave 将通用类型 (=java.util.Map
) 的有效负载转换为特定类型(示例中的 foo.bar.Type
):
%dw 1.0
%output application/java
---
payload as :object {
class: "foo.bar.Type"
}
您可以使用 dataweave 或 json 对象转换器。
您似乎特别提到了对象类型。 LinkedHashMap 已经是 Object 的实例:每个 Java 个实例继承自根 class Object.
如果您想将 HashMap 转换为特定对象,例如 JSON 或自定义对象,例如 com.mycompany.CompData,根据您的用例,您有几种可能性:
- 使用其他答案中提到的 DataWeave(需要 EE)
- 使用内置转换器,例如 Object-to-JSON
- 通过扩展 AbstractTransformer 实现您自己的 Transformer
有关详细信息,请参阅文档:https://docs.mulesoft.com/mule-user-guide/v/3.8/using-transformers
如果您可以更具体地说明您的用例是什么,我会很乐意完善我的答案;)