2016-11-17 2 views
2

enter image description here Какова цель ByteArrayToObject, если она возвращает String?Преобразование ByteArray в java.lang.Object за один шаг

В моем потоке, я читаю содержание JSon из файла с помощью мула запрашивающего, преобразуя интерфесам перед тем переплетения данных, выполнив следующие шаги 3 (1) ByteArrayToString (2) ObjectToJSON (3) JSONTOObject

Я хотел бы объединить вышеуказанные 3 шага к одному, используя ByteArrayToObject трансформатор, но в соответствии с документацией, ByteArrayToObject возвращает строку

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

есть ли способ объединить 3 с teps до 1 шага?

ответ

3

Вы не можете преобразовать в полезную нагрузку java.lang.Object, потому что он уже является экземпляром java.lang.Object. В Java все объекты наследуют от Object: Класс Object - это корень иерархии классов. Каждый класс объектов в качестве родительского класса,

Если вы читаете содержание JSON из файла, и вы хотите, чтобы преобразовать содержимое в какой-то экземпляр класса, скажем com.mycompany.Apple, вы можете напрямую использовать JSONToObject трансформатор , указав параметр returnClass

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

Вы можете посмотреть на native Json support documentation

ByteArrayToObject может использоваться в двух модах, в соответствии с документация:

  • Если массив байт сериализованная объект Java, то вы можете десериализации его в этот объект с помощью параметра returnClass.
  • Если это не сериализованная объект, то он будет преобразован в строку
1

Вы можете использовать только один компонент Java для преобразования полезной нагрузки

Смежные вопросы