如何在mule中将LinkedHashMap Payload转换为Object Payload?

时间:2017-04-11 14:25:33

标签: object hashmap mule transform payload

我想将LinkedHashMap有效负载转换为Object有效负载,我使用字节数组对象变换器,但它适用于我,任何想法的人?

3 个答案:

答案 0 :(得分:0)

您可以使用dataweave将泛型类型(= java.util.Map)的有效内容转换为特定类型(示例中为foo.bar.Type):

%dw 1.0
%output application/java
---
payload as :object {
    class: "foo.bar.Type"
}

答案 1 :(得分:0)

您可以使用dataweave或json来对象转换器。

答案 2 :(得分:0)

您似乎特别提到了Object类型。 LinkedHashMap已经是Object的一个实例:每个Java实例都继承自根类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

如果你对你的用例更具体,我会很乐意改进我的答案;)