Mule 一步将ByteArray转换为java.lang.Object

Mule 一步将ByteArray转换为java.lang.Object,mule,dataweave,Mule,Dataweave,如果ByteArrayToObject返回字符串,它的用途是什么 在我的流程中,我使用mule requester从文件中读取Json内容,通过执行以下3个步骤在数据编织之前转换为java.lang.Object (1) ByteArrayToString (2) ObjectToJSON (3) JSONTObject 我想使用ByteArrayToObject transformer将上述三个步骤合并为一个步骤,但根据文档,ByteArrayToObject返回字符串 有没有办法将3个步骤

如果ByteArrayToObject返回字符串,它的用途是什么

在我的流程中,我使用mule requester从文件中读取Json内容,通过执行以下3个步骤在数据编织之前转换为java.lang.Object (1) ByteArrayToString (2) ObjectToJSON (3) JSONTObject

我想使用ByteArrayToObject transformer将上述三个步骤合并为一个步骤,但根据文档,ByteArrayToObject返回字符串


有没有办法将3个步骤合并为1个步骤?

您无法将有效负载转换为java.lang.Object,因为它已经是java.lang.Object的实例。在Java中,所有对象都继承:类对象是类层次结构的根。每个类都有对象作为超类

如果您正在从文件读取JSON内容,并且希望将内容转换为某个类实例,例如com.mycompany.Apple,那么可以直接使用JSONToObject转换器,指定returnClass参数

<json:json-to-object-transformer returnClass="com.mycompany.Apple" doc:name="JSON to Apple"/>

你可能想看看

根据文档,ByteArrayTobObject可以以两种方式使用:

  • 如果字节数组是序列化的Java对象,那么可以使用returnClass参数将其反序列化到此对象中
  • 如果它不是序列化对象,那么它将被转换为字符串

您只能使用一个Java组件来转换负载