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

Transform ByteArray to java.lang.Object in one step

如果 ByteArrayToObject 是 returns 字符串,它的用途是什么?

在我的流程中,我正在使用 mule 请求程序从文件中读取 Json 内容,通过执行以下 3 个步骤在数据编织之前转换为 java.lang.Object (1) 字节数组转字符串 (2) 对象转JSON (3) JSONTOObject

我想使用 ByteArrayToObject 转换器将上述 3 个步骤合并为一个步骤,但根据文档,ByteArrayToObject returns String

https://docs.mulesoft.com/mule-user-guide/v/3.6/using-transformers

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

您不能将您的负载转换为 java.lang.Object,因为它已经是 java.lang.Object 的一个实例。在 Java 中,所有对象都继承自 ObjectClass 对象是 class 层次结构的根。每个 class 都有 Object 作为 superclass,

如果您正在从文件中读取 JSON 内容并且想要将内容转换为某些 class 实例,请说 com.mycompany.Apple ,可以直接使用JSONToObject Transformer,指定returnClass参数

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

您可能想看看 native Json support documentation

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

  • 如果字节数组是一个序列化的Java对象,那么你可以使用returnClass参数将其反序列化为这个对象.
  • 如果不是序列化的Object,那么会转成String

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